diff options
author | Dave Parks <davep@lindenlab.com> | 2010-04-19 23:39:19 -0500 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2010-04-19 23:39:19 -0500 |
commit | e275b7a658ee29ca4ce3dd77908ddd4c34749449 (patch) | |
tree | f5b2f701c9856db6b0dfb13ae4d6a40eaae9b46e /indra/llrender/llvertexbuffer.cpp | |
parent | 1f3e0ae090f04929296e94dc3a3128ab3ac73247 (diff) | |
parent | e994b9dcee82b510dc881e2b14d053a27fe35472 (diff) |
merge
Diffstat (limited to 'indra/llrender/llvertexbuffer.cpp')
-rw-r--r-- | indra/llrender/llvertexbuffer.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp index d5b00f27a7..668e9e55f9 100644 --- a/indra/llrender/llvertexbuffer.cpp +++ b/indra/llrender/llvertexbuffer.cpp @@ -212,6 +212,27 @@ void LLVertexBuffer::setupClientArrays(U32 data_mask) glClientActiveTextureARB(GL_TEXTURE0_ARB); } + if (sLastMask & MAP_WEIGHT4) + { + if (sWeight4Loc < 0) + { + llerrs << "Weighting disabled but vertex buffer still bound!" << llendl; + } + + if (!(data_mask & MAP_WEIGHT4)) + { //disable 4-component skin weight + glDisableVertexAttribArrayARB(sWeight4Loc); + } + } + else if (data_mask & MAP_WEIGHT4) + { + if (sWeight4Loc >= 0) + { //enable 4-component skin weight + glEnableVertexAttribArrayARB(sWeight4Loc); + } + } + + sLastMask = data_mask; } } |