Forum de la communauté SFML
Aide => Graphique => Discussion démarrée par: LD_FLO le Février 24, 2015, 11:45:36 am
-
Bonjour,
Je voulais savoir s'il était possible d'appliquer un shader sur la totalité d'une renderTexture, uniquement, pour en modifier la luminosité par exemple.
Je veux juste modifier cette renderTexture, pas la dessiner avec la fonction draw().
Est-ce possible ?
Merci d'avance :)
-
Si tu as une render-texture c'est qu'à un moment donné tu vas dessiner quelque chose qui utilise son contenu, non ? Tu ne peux pas appliquer ton shader à ce moment-là ?
Sinon, il faut dessiner ta render-texture vers une autre render-texture en utilisant ton shader, puis faire l'échange entre les deux (un genre de double-buffering).
-
Le "double-buffering" est une solution en effet.
Je visualise ma texture via un sprite que je dessine sur ma fenêtre principale. Mais si j'utilise mon shader à ce moment là, je ne modifie pas le contenu de ma texture, seulement la manière dont elle sera perçue, non ?
-
Je visualise ma texture via un sprite que je dessine sur ma fenêtre principale. Mais si j'utilise mon shader à ce moment là, je ne modifie pas le contenu de ma texture, seulement la manière dont elle sera perçue, non ?
Oui, et c'est un peu le principe de base en programmation graphique pour avoir de bonnes performances ;)
-
Justement, je développe un espèce de "Gimp" orienté animation (plus un "Paint" pour le moment).
Je dispose donc d'une image: renderTexture + sprite (pour l'affichage), que je modifie en dessinant dessus etc...
Je souhaite utiliser les shaders pour appliquer des filtres ou tout autre transformation à mon image. Il faut donc que je modifie ma texture, et non pas juste faire comme si elle avait été modifiée.
-
SFML se prête assez mal à ce genre de logiciel. Là c'est plus d'une bonne bibliothèque de manipulation d'image dont tu aurais besoin, avec tous les algorithmes qui vont bien. SFML est faite pour envoyer en permanence des données à visualiser, pas pour faire faire des modifications à la carte graphique et les récupérer ensuite.
Ceci-dit, ça reste faisable et tu connais la solution, donc à toi de voir.
-
Pour le moment ça se déroule plutôt bien. Je ne souhaite pas concurrencer Photoshop de toute façon :P
Ça serait surtout pour dessiner des feuilles de sprites, et en voir l'animation simultanément.
Merci pour tes réponses rapides :D