diff --git a/examples/CImg_demo.cpp b/examples/CImg_demo.cpp index effe051f674a3f676ab969fd3ee8460dd9c3d55f..49f4882533362de9feeb798f207cc7f7526fadd1 100644 --- a/examples/CImg_demo.cpp +++ b/examples/CImg_demo.cpp @@ -653,14 +653,13 @@ void* item_plasma() { if ((pos+=2)>lwidth + 2) pos = 0; cimg_forX(visu,x) { const int y0 = (int)(visu.height()/2 + visu.height()/4*std::sin(ts + x/(70 + 30*std::cos(beta)))); - cimg_forY(scroll,y) { - if (scroll(x,y)) { - const unsigned int y1 = y0 + y + 2; visu(x,y1,0)*=0.7; visu(x,y1,1)*=0.7; visu(x,y1,2)*=0.7; - const unsigned int y2 = y1 - 6; - const float c = scroll(x,y)/255.0f; - (visu(x,y2,0)*= 1 - c)+=254*c; - (visu(x,y2,1)*= 1 - c)+=254*c; - (visu(x,y2,2)*= 1 - c)+=254*c; + cimg_forY(scroll,y) if (scroll(x,y)) { + const unsigned int y1 = y0 + y + 2; + const unsigned int y2 = y1 - 6; + const float c = scroll(x,y)/255.0f; + cimg_forC(visu,k) { + visu(x,y1,k) = (unsigned char)(visu(x,y1,k)*0.7f); + visu(x,y2,k) = (unsigned char)(visu(x,y2,k)*(1 - c) + 254*c); } } }