Dale_ee
05-10-2006 12:37:33
When painting multiple textures 'currChannel' variable isn't set to 0 after iteration. So this raises exception.
unsigned int currChannel = 0;
for (unsigned int k = 0; k < mNumTexture; k++)
{
uchar * const BaseData = mImages[k].getData();
assert (BaseData && "PagingLandScapeTexture::paint()");
const unsigned int currImagePos = imagePos * mNumChannelperTexture[k];
assert (currImagePos < mImages[k].getSize ());
assert (mNumChannelperTexture[k]*8 == mImages[k].getBPP ());
for (unsigned int j = 0; j < mNumChannelperTexture[k]; j++)
{
BaseData[ currImagePos + j ] =
static_cast <uchar> (
((*channelModifList)[currChannel]) * paintForce * bScale
+ BaseData[ currImagePos + j ] * invPaintForce
);
currChannel++;
}
doTextureNeedUpdate[k] = true;
}