Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [sfml2] Paramètre shader  (Lu 2046 fois)

0 Membres et 1 Invité sur ce sujet

Ditret

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
    • E-mail
[sfml2] Paramètre shader
« le: Juin 25, 2012, 10:55:46 pm »
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 );
        }
}
 

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : [sfml2] Paramètre shader
« Réponse #1 le: Juin 26, 2012, 08:24:21 am »
Il faut donner les paramètres après avoir chargé le shader. C'est comme si tu faisais "a = 10;" avant "int a;" en C++.
Laurent Gomila - SFML developer

Ditret

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
    • E-mail
Re : [sfml2] Paramètre shader
« Réponse #2 le: Juin 26, 2012, 12:16:03 pm »
Merci, ca marche =3
c'est que j'avais lut quelque part ( surement sur le fofo ) qu'il fallait mettre les paramètres avant loadFromFile.