Skinning with GLSL (9700 Pro, cat 4.1)

I’m trying to implement my character skinning code in a vertex shader, but it doesn’t seem to be possible with the GLSL. The problem is, there seems to be a limitation preventing me from using an int as an array index (although the spec specifically says I can do this).

int i=0;
mat4 mat=boneMat[i];

This gives the error : Internal compiler error: unexpected operator.

Am I missing something here, or is this a major hole in ATi’s implementation of glSlang? Is there a workaround for this? Would the same code be possible with Cg/ARB_VP, or is this a hardware limitation that I can’t avoid? Surely it must be possible to skin in a vertex shader.

Array indirection is not supported in the currently released GLSL implementation. However, this issue has been fixed and will be supported in a future release (indirection is supported in HW only for uniform arrays in vertex shaders).

– Dan (ATI)

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.