Bonjour !
Dans le cadre de mon projet je suis ammené à utiliser beaucoup de shaders pour mes effets. Cependant j'ai quelques questions à propos de l'utilisation de ceux-ci.
On peut les séparer en deux catégorie différentes :
-> Ceux qui ne s'appliquent qu'à un seul objet
-> Ceux qui s'appliquent à la scène en globalité
Dans les deux cas, il faudra parfois passer par des sf::RenderTexture (si un shader à besoin de plusieurs "pass").
Pour avoir donc une architecture propre, je voudrais donc passer par une classe abstraite (qui hérite de sf::Drawable et sf::Transform) pour manipuler mes objets graphiques (ils sont purement graphiques, les calculs de jeux sont dans un GameEngine).
Pour ainsi dire, je voudrais pour chaque objet, le dessiner avant tout dans un sf::RenderTexture (afin d'appliquer les shaders spécifique à chaques objets).
Dans un second temps, je dessinerais le résultat de chaques objet dans un autre sf::RenderTexture qui lui contiendra la scène entière a afficher sur l'écran. J'appliquerais sur ce dernier les shaders "globaux".
Je dessinerais enfin ma scène finale sur l'écran.
J'ai donc plusieurs questions :
-> Premièrement, systématiquement passer par des sf::RenderTexture est-il adapté à l'implémentation de nombreux shaders ? (en gros, est-ce que je suis pas en plein délire)
-> Draw / Clear de nombreux sf::RenderTexture n'est-il pas trop gourmand en ressources ?
Cordialement