Jump to content
  • Advertisement
Sign in to follow this  
RPTD

OpenGL W32+GLSL+NVidia: strange linker error C9999

This topic is 4499 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Target Machine: Windows XP, NVidia card, OpenGL with GLSL Shaders. using linux on the target machine results in the shaders all compiling and linking ok. only using windows on the target machine together with the very same shaders results in this strange linker error:
Quote:
Vertex info ----------- (0) : error C9999: symbol "@TMP2" already in table
with different symbols ( once TMP2, then TMP4 and TMP5 and so on ). the error happens during linking of shader programs hence the shader objects compile fine. it also happens only with some shaders, namely those where i have 'sampler2DShadow' in it ( that's my guess after checking out the scripts ). i have though no idea what is wrong. is this simply a driver bug and i need to fetch new ones? ( yes, drivers are not the freshest right now ) is there a bug with nvidia and sampler2DShadow that kills me here? is this something else? if so in what direction do i have to search? i checked that the following is true in the faulty programs: - uniforms are identical in the fragement shader and the vertex shader - varying are identical in the fragment shader and the vertex shader - compiles and links without a hickup on the same machine with linux

Share this post


Link to post
Share on other sites
Advertisement
playing a bit around with commenting out parts of the script i ended up with the following beeing a problem:
        vec3 temp = cross( gl_Normal.xyz, gl_MultiTexCoord1.xyz  );
mat3 matObjTan = mat3( cross( temp, gl_Normal.xyz ), temp, gl_Normal.xyz );


if i comment out the second line it works. it looks like the compiler doesn't like my construction there. can it be the cross is a problem? what i want to achieve there is simply a TBN ( Tangent-BiNormal-Normal ) matrix from input gl_Normal and gl_MultiTexCoord1 . something wrong with that?

Share this post


Link to post
Share on other sites
Quote:
Original post by RPTD
playing a bit around with commenting out parts of the script i ended up with the following beeing a problem:
        vec3 temp = cross( gl_Normal.xyz, gl_MultiTexCoord1.xyz  );
mat3 matObjTan = mat3( cross( temp, gl_Normal.xyz ), temp, gl_Normal.xyz );


if i comment out the second line it works. it looks like the compiler doesn't like my construction there. can it be the cross is a problem? what i want to achieve there is simply a TBN ( Tangent-BiNormal-Normal ) matrix from input gl_Normal and gl_MultiTexCoord1 . something wrong with that?


Try

vec3 temp = cross( vec3(gl_Normal), vec3(gl_MultiTexCoord1));
mat3 matObjTan = mat3(cross(temp, vec3(gl_Normal)), temp, vec3(gl_Normal));



Try that see what happens... What hardware are you on?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!