Fix a texture data indexing bug in AmbientOcclusion
authorMikko Rasa <tdb@tdb.fi>
Thu, 30 May 2019 10:54:42 +0000 (13:54 +0300)
committerMikko Rasa <tdb@tdb.fi>
Thu, 30 May 2019 10:54:42 +0000 (13:54 +0300)
source/ambientocclusion.cpp

index 2378bcc78cb323e21439b01c601c8f5590a4ab3c..49d712543ccff582f5fd7a5f064e05c25e8d4264 100644 (file)
@@ -29,10 +29,10 @@ AmbientOcclusion::AmbientOcclusion(unsigned w, unsigned h, float):
                Geometry::Angle<float> a = Geometry::Angle<float>::from_turns(random(seed));
                unsigned char c = (cos(a)*0.5f+0.5f)*255;
                unsigned char s = (sin(a)*0.5f+0.5f)*255;
-               data[i*3  ] = c;
-               data[i*3+1] = s;
-               data[i*3+2] = 255-s;
-               data[i*3+4] = ((i+i/4)%2)*255;
+               data[i*4  ] = c;
+               data[i*4+1] = s;
+               data[i*4+2] = 255-s;
+               data[i*4+3] = ((i+i/4)%2)*255;
        }
        rotate_lookup.image(0, RGBA, UNSIGNED_BYTE, data);