MAINT-3211 Fix for texture animations not working properly on rigged attachments when worn from inventory.

Dave Parks 2014-03-24 14:04:40 -05:00
parent ae8efa3698
commit 809b2eeb7f
3 changed files with 13 additions and 2 deletions

View File

@ -40,7 +40,7 @@ mat4 getObjectSkinnedTransform();
void main()
{
vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy;
mat4 mat = getObjectSkinnedTransform();
mat = modelview_matrix * mat;

View File

@ -1623,6 +1623,17 @@ void LLDrawPoolAvatar::getRiggedGeometry(LLFace* face, LLPointer<LLVertexBuffer>
face->setPoolType(LLDrawPool::POOL_AVATAR);
}
//let getGeometryVolume know if a texture matrix is in play
if (face->mTextureMatrix)
{
face->setState(LLFace::TEXTURE_ANIM);
}
else
{
face->clearState(LLFace::TEXTURE_ANIM);
}
//llinfos << "Rebuilt face " << face->getTEOffset() << " of " << face->getDrawable() << " at " << gFrameTimeSeconds << llendl;
face->getGeometryVolume(*volume, face->getTEOffset(), mat_vert, mat_normal, offset, true);

View File

@ -1656,7 +1656,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,
do_xform = false;
}
if (getVirtualSize() >= MIN_TEX_ANIM_SIZE)
if (getVirtualSize() >= MIN_TEX_ANIM_SIZE || isState(LLFace::RIGGED))
{ //don't override texture transform during tc bake
tex_mode = 0;
}