Hey guys,

I got a little problem with my vertex shader:

`#version 150`

uniform mat4 bones[128]; // inverse bone bind matrices multiplied with the interpolated bone matrices

uniform mat4 bsm; // bind shape matrix

attribute vec4 weights;

attribute vec4 indices;

void main()

{

vec4 v = gl_Vertex;

vec4 finalVertex = vec4(0.0);

int index1 = int(indices.x);

finalVertex = bones[index1] * v; // right here... if i use bones[1] instead of bones[index1] it works fine :o (i am 100% sure that index1 == 1)

gl_FrontColor = weights;

gl_Position = gl_ModelViewProjectionMatrix * finalVertex;

}

Someone knows why this happens?

EDIT:

- I read about that dynamic indexing isn't working on lower GLSL versions. Any workarounds?

- This error only exists on an ATI graphics card. On my NVIDIA GC everything works fine.

SOLVED:

- I exceeded the maximum usable uniforms and thus had to reduce the mat4 bones[128] to mat4[50]. I think i'll use quaternions in the future