diff options
author | Dave Parks <davep@lindenlab.com> | 2010-04-15 00:04:17 -0500 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2010-04-15 00:04:17 -0500 |
commit | 54dd30cc426e16aa99b4f7eea080bbeae0656843 (patch) | |
tree | 5a30419a11316fd348a678784d660a0b96e1d033 /indra/llrender/llvertexbuffer.cpp | |
parent | 0660cf0c987385dc2923bff389c7fa1bc0feec81 (diff) |
More rigged attachments work.
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; } } |