Hi there!
I'm writing a (german) introduction for glSlang, as a kind of a huge tutorial on that matter. And for this I wanted to also write a simple example to show and explain my readers a basic shader, but I directly ran into problems, as the following (simple) shader exceedes the maximum number of texture indirections :
Since the Radeon is supposed to support far more than only four indirections, I'm a bit surprised, especially because I'm doing only one texturesample per texture unit.Code :uniform sampler2D texSamplerTMU0; uniform sampler2D texSamplerTMU1; uniform sampler2D texSamplerTMU2; uniform sampler2D texSamplerTMU3; void main(void) { vec4 RGB = texture2D(texSamplerTMU0, vec2(gl_TexCoord[0])); gl_FragColor = texture2D(texSamplerTMU1, vec2(gl_TexCoord[0]))*RGB.r+ texture2D(texSamplerTMU2, vec2(gl_TexCoord[0]))*RGB.g+ texture2D(texSamplerTMU3, vec2(gl_TexCoord[0]))*RGB.b; }
Texturesamplers are set as follows (via glUniform1iARB in my App) :
I suppose that this is a problem with the beta glSlang-Implementation of Catalyst (using 3.10 here), cause the same shader works like a charm in ARB_FP.Code :glUniform1iARB(glSlang_GetUniLoc(ProgramObject, 'texSamplerTMU0'), 0); glUniform1iARB(glSlang_GetUniLoc(ProgramObject, 'texSamplerTMU1'), 1); glUniform1iARB(glSlang_GetUniLoc(ProgramObject, 'texSamplerTMU2'), 2); glUniform1iARB(glSlang_GetUniLoc(ProgramObject, 'texSamplerTMU3'), 3);
Any help would be appreciated. I also tried a blur-shader in glSlang, where I encountered the same problem.



