Bonjour à toutes et à tous,
j'aurai besoin d'appliquer un pixel shader sur un convexshape lors de son affichage dans une rendertexture.
le but étant d'effectuer une dégradé sur un shadow texture.
Jusqu'a présent, j'ai créé un shadow map à l'aide de convershapes dans un rendertexture.
ces ombres sont réalisés à l'aide des côtés de mes formes et projetés en fonction de la position d'une lumière.
J'affiche ma scene principale également dans une deuxieme rendertexture.
et lors de l'affichage final dans le renderwindow, j'applique par pixel shader mon shadow map avec un dégradé en fonction de la distance avec la lumière.
Cela marche bien mais voulant par la suite utiliser plusieurs sources de lumières, j'aurai besoin d'effectuer les calculs en fonction de la lumière qui a généré l'ombre.
Pour ce faire, j'aurai aimé pouvoir précalculer mon shadow map
déja dégradé à l'avance lors de sa création.
Lorsque je tente d'appliquer un shader lors de l'affichage du convexshape, celui-ci ne me rend pas l'image de l'ombre, je n'ai aucune erreur affiché mais aucun résultat non plus.
voici le bout de code.
/
/
cs -> étant un convershape
state -> contenant mon shader
_shader->setParameter("texture",sf::Shader::CurrentTexture);
_shader->setParameter("poslight",sf::vector2f(10,10));
_stencil->draw(cs,state);
ma question est donc la suivante, est-il possible d'appliquer un pixel shader directement lors de le l'affichage
du convexshape dans un rendertexture ? est-il logique de procéder ainsi ?
merci d'avance