Don't batch faces that are animating, ever (hopefully). Should fix texture animations breaking when rendermaxtextureindex > 1
This commit is contained in:
@@ -4165,11 +4165,16 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::
|
|||||||
facep->setTextureIndex(cur_tex);
|
facep->setTextureIndex(cur_tex);
|
||||||
texture_list.push_back(tex);
|
texture_list.push_back(tex);
|
||||||
|
|
||||||
//if (can_batch_texture(facep))
|
if (can_batch_texture(facep))
|
||||||
{
|
{
|
||||||
while (i != faces.end())
|
while (i != faces.end())
|
||||||
{
|
{
|
||||||
facep = *i;
|
facep = *i;
|
||||||
|
if (!can_batch_texture(facep))
|
||||||
|
{ //face is bump mapped or has an animated texture matrix -- can't
|
||||||
|
//batch more than 1 texture at a time
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (facep->getTexture() != tex)
|
if (facep->getTexture() != tex)
|
||||||
{
|
{
|
||||||
if (distance_sort)
|
if (distance_sort)
|
||||||
@@ -4195,12 +4200,6 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::
|
|||||||
cur_tex++;
|
cur_tex++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!can_batch_texture(facep))
|
|
||||||
{ //face is bump mapped or has an animated texture matrix -- can't
|
|
||||||
//batch more than 1 texture at a time
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cur_tex >= texture_index_channels)
|
if (cur_tex >= texture_index_channels)
|
||||||
{ //cut batches when index channels are depleted
|
{ //cut batches when index channels are depleted
|
||||||
break;
|
break;
|
||||||
@@ -4222,9 +4221,8 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::
|
|||||||
|
|
||||||
facep->setTextureIndex(cur_tex);
|
facep->setTextureIndex(cur_tex);
|
||||||
}
|
}
|
||||||
|
tex = texture_list[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
tex = texture_list[0];
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user