   Transforming with GLSL
  Hello.I've been working on a lighting shader for my model renderer, and lately, I've been porting most of the functions wich I previously did on the CPU to my GLSL shader.I'm in trouble with the vertex transformations though. I have a matrix of 3x4 floats for bone matrices. Using these, I transform the vertices and rotate the normals of the models before sending them to GL. This is kinda slow actually, and I was wondering wether anyone has a suggestion on how I could send the bone matrices EFFICIENTLY to GLSL.Half-Life, the game wich I'm working on, has an array of 128 max bone matrices, and as far as I know, GLSL only supports 2x2, 3x3 and 4x4 bone matrices. Also, I know that GLSL doesn't support an array of that size to be passed down, and passing a matrix for each vertex call seems quite counter-productive.Any suggestions would be apprechiated.Thanks.Andrew.   
  Does anyone have any suggestions, please?   ;  GLSL 1.2 (OpenGL 2.1) supports non-square matrices. Also the maximum size of uniforms is implementation dependant, which can be queried using glGetInteger(GL_MAX_VERTEX_UNIFORM_COMPONENTS, &max;   ;Quote:Original post by Andrew LucasDoes anyone have any suggestions, please?I'm not 100% sure I understand your problem, but here goes.The usual way to access large chunks/arrays of values that are inefficient to allocate to the very limited GPU memory resources is to put that data into a 1D, 2D or 3D texture and access the values from the texture.If you can access values, then perform a few lines of other computations before you operate with those values, the texture-access latency will be hidden and you should achieve reasonably good performance.  If you cannot hide that latency... the performance may or may not make you happy (depending on GPU card and many other factors).