Bonjour à tous,
je dois utiliser deux textures dans un shader, j'ai donc créé deux sampler2d nommés tex et tex2.
voici le code fragment :
uniform sampler2D tex;
uniform sampler2D tex2;
void main()
{
vec4 texel = texture2D(tex,gl_TexCoord[0].st);
vec4 mtexel = texture2D(tex2,gl_TexCoord[0].st);
if(texel.rgb == vec3(0,0,0))
texel.rgba = vec4(0.5,0.5,0.5,0.1);
gl_FragColor = texel;
}
dans mon appel voici ce que je fais:
sf::RenderStates rs;
rs.shader = _shader;
_shader->setParameter("tex",sf::Shader::CurrentTexture);
_shader->setParameter("tex2",_stencil.getTexture());
app->draw(sp,rs);
lorsque je ne passe qu'une texture "tex", cela ne pose aucun probleme par contre lorsque je tente de passer les deux textures, lors de l'éxécution j'obtiens le message suivant affiché sur la console ::
Texture "tex2" not found in shader
Quelqu'un a t il une explication à mon probleme ?
merci d'avance