J'ai de nouveau un souci avec les shaders, et vu que c'est un peu le domaine qui m'est parfaitement inconnu et que je souhaite bourriner actuellement, ça risque d'être assez fréquent :p
Alors voila mon souci :
J'ai fait un shader, avec 2 pass:
le premier me fait une couleur en aplat
le second applique une texture, contenant de la transparence, que voici :
Avant toute chose, je précise que je le fais en deux pass car le second est dans un fichier cginc que j'inclus ensuite dans différents shaders.
Avec un Blend SrcAlpha OneMinusSrcAlpha appliqué au pass contenant la texture, ça marche impec' :
Mais avec un Blend One One, j'ai l'impression qu'il ne prend plus en compte la transparence de ma texture, il remplit tout en bleu :
Du coup j'ai fait un grab pass, pour récupérer le résultat du premier pass, et modifié les couleurs pour faire mon propre mode de fusion additif, ça a marché :
Bon, je me suis "amusé" à faire ça sur trois materiaux
Mais 3 grab pass c'est gourmand, j'ai entendu parlé de la possibilité de n'avoir qu'un grab pass pour tous en lui ajoutant un p'tit nom, genre:
Code : Tout sélectionner
GrabPass{"MonGrabPass"}
Autant dire que ça ne marche pas :\
Du coup j'ai deux questions :
Comment faire pour avoir un unique grab pass et gagner en perf?
Y avait-il un moyen plus optimisé d'obtenir un tel résultat que par grab pass ? (sachant, pour rappel, que je dois garder 2 pass)
Merci beaucoup d'avance pour vos conseils, je suis en train de manipuler pas mal de notions nouvelles pour moi sur cette expérimentation