16
Graphique / sf::Shader appliquer une texture de shadow en post effect SFML 2.0
« le: Juillet 09, 2012, 10:06:23 pm »
Bonjour à tous,
je suis nouveau sur ce forum et débutant en SFML 2.0
Voici ma question.
J'essaye d'appliquer par Shader une texture de type shadow map. Je m'explique
Je crée une texture avec mes ombres portées, ensuite en post effet, je désire appliquer cette texture par
pixel shader.
Je bloque sur la méthode. Comment appliquer mon pixel shader sur l'ensemble du rendering, juste avant d'effecter la méthode display() de l'objet RenderWindow ?.
Je pensais effectuer ceci :
_shader->setParameter("tex",sf::Shader::CurrentTexture);
où tex contiendrait donc mon image final et ensuite effectuer ceci :
sf::RenderState rs;
rs.Shader = _shader;
sf::Sprite sp;
sp.setTexture(shadow->getShadow()->getTexture());
_app->Draw(sp,rs);
où shadow->getShadow()->getTexture() me retourne un objet de type RenderTexture contenant ma shadow texture
Est ce bien la bonne solution ?
Merci d'avance pour vos réponses
je suis nouveau sur ce forum et débutant en SFML 2.0
Voici ma question.
J'essaye d'appliquer par Shader une texture de type shadow map. Je m'explique
Je crée une texture avec mes ombres portées, ensuite en post effet, je désire appliquer cette texture par
pixel shader.
Je bloque sur la méthode. Comment appliquer mon pixel shader sur l'ensemble du rendering, juste avant d'effecter la méthode display() de l'objet RenderWindow ?.
Je pensais effectuer ceci :
_shader->setParameter("tex",sf::Shader::CurrentTexture);
où tex contiendrait donc mon image final et ensuite effectuer ceci :
sf::RenderState rs;
rs.Shader = _shader;
sf::Sprite sp;
sp.setTexture(shadow->getShadow()->getTexture());
_app->Draw(sp,rs);
où shadow->getShadow()->getTexture() me retourne un objet de type RenderTexture contenant ma shadow texture
Est ce bien la bonne solution ?
Merci d'avance pour vos réponses