| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #if NUM_BONE_INFLUENCERS > 0
- mat4 influence;
- #ifdef BONETEXTURE
- influence = readMatrixFromRawSampler(boneSampler, matricesIndices[0]) * matricesWeights[0];
- #if NUM_BONE_INFLUENCERS > 1
- influence += readMatrixFromRawSampler(boneSampler, matricesIndices[1]) * matricesWeights[1];
- #endif
- #if NUM_BONE_INFLUENCERS > 2
- influence += readMatrixFromRawSampler(boneSampler, matricesIndices[2]) * matricesWeights[2];
- #endif
- #if NUM_BONE_INFLUENCERS > 3
- influence += readMatrixFromRawSampler(boneSampler, matricesIndices[3]) * matricesWeights[3];
- #endif
- #if NUM_BONE_INFLUENCERS > 4
- influence += readMatrixFromRawSampler(boneSampler, matricesIndicesExtra[0]) * matricesWeightsExtra[0];
- #endif
- #if NUM_BONE_INFLUENCERS > 5
- influence += readMatrixFromRawSampler(boneSampler, matricesIndicesExtra[1]) * matricesWeightsExtra[1];
- #endif
- #if NUM_BONE_INFLUENCERS > 6
- influence += readMatrixFromRawSampler(boneSampler, matricesIndicesExtra[2]) * matricesWeightsExtra[2];
- #endif
- #if NUM_BONE_INFLUENCERS > 7
- influence += readMatrixFromRawSampler(boneSampler, matricesIndicesExtra[3]) * matricesWeightsExtra[3];
- #endif
- #else
- influence = mBones[int(matricesIndices[0])] * matricesWeights[0];
- #if NUM_BONE_INFLUENCERS > 1
- influence += mBones[int(matricesIndices[1])] * matricesWeights[1];
- #endif
- #if NUM_BONE_INFLUENCERS > 2
- influence += mBones[int(matricesIndices[2])] * matricesWeights[2];
- #endif
- #if NUM_BONE_INFLUENCERS > 3
- influence += mBones[int(matricesIndices[3])] * matricesWeights[3];
- #endif
- #if NUM_BONE_INFLUENCERS > 4
- influence += mBones[int(matricesIndicesExtra[0])] * matricesWeightsExtra[0];
- #endif
- #if NUM_BONE_INFLUENCERS > 5
- influence += mBones[int(matricesIndicesExtra[1])] * matricesWeightsExtra[1];
- #endif
- #if NUM_BONE_INFLUENCERS > 6
- influence += mBones[int(matricesIndicesExtra[2])] * matricesWeightsExtra[2];
- #endif
- #if NUM_BONE_INFLUENCERS > 7
- influence += mBones[int(matricesIndicesExtra[3])] * matricesWeightsExtra[3];
- #endif
- #endif
- finalWorld = finalWorld * influence;
- #endif
|