Hello all,
I developed a matrix-matrix multiplacation pixel shader using GLSL, which works under the restriction of PS2.0(GForce5200). When I try to run the same shader on a GForce 6600(PS3.0) i get only a black render winow, The code is the same and i use the same image. The only main difference is that i use Debian Sid with the NV driver 7676 and the 6600 system is Ubuntu-Breezy with 7667. It seems to be a problem with the for-loop that I use. I ran the shader through glslValidate from 3dLabs, and it produces no errors. I also have set up my program to check all GL errors and to retrieve all the messages that are available when a GLSL compile fails. The program reports absolutly no errors. When i comment out the for-loop and do only a componentwise multiplication of the two matrixes , i get what i expect. and that is a window that is completly black except for the diagnal from above left to bottom right that is the same as the image. Below is the for loop:
Where all the variables are set up correctly, and like said above, it works on PS 2.0, but not on the 6600. Is there a big difference with respect to for-loop syntax between PS 2.0 and PS3.0?Code :for(k = 0.0; k <= 1.0; k += offset){ texelA = texture2D(matA,vec2(x,k)); A = mat2(texelA); texelB = texture2D(matB,vec2(k,y)); B = mat2(texelB); C += (A*B); }
Thanks in advance,
Brian



