Bonjour,
je n'arrive pas a envoyer de paramètres a mon shader, je débute en GLSL et j'ai un peu de mal a comprendre le pourquoi mon paramètre "
offset" n'est pas récupérais dans mon shader ?
sf::Shader shader;
shader.setParameter( "texture" , sf::Shader::CurrentTexture );
shader.setParameter("offset",0.4f); /* le 0.4 n'est pas ressue >_<*/
if( !shader.loadFromFile("fragment.glsl",sf::Shader::Fragment) )
return 1;
sf::RenderStates r;
r.shader = &shader;
...
window.draw(arb2, r );
fagment.glsl:
uniform sampler2D texture;
uniform float offset;
/* SHADER EFFET NEIGE SUR ARBRE */
void main(void)
{
if( texture2D(texture, gl_TexCoord[0].xy )[1] < offset )
{
gl_FragColor = gl_Color * texture2D(texture, gl_TexCoord[0].xy );
}
else
{
gl_FragColor = gl_Color * texture2D(texture, gl_TexCoord[0].xy ) + vec4(1.0, 1.0, 1.0, 0.0 );
}
}