Comment puis-je créer un shader qui "coupe" à travers toute la géométrie, ne rendant que l'arrière-plan de compensation dans Unity? Un exemple:
C'est un prisme dans une immense pièce en forme de boîte blanche. La surface du prisme ne fait que rendre la skybox de la scène (un ciel étoilé). J'ai utilisé plusieurs caméras, ce qui est assez inefficace ... Il doit y avoir un moyen avec juste des shaders.
Comment puis-je faire ceci?
Quelques options pour obtenir l'effet souhaité - mais elles ont un coût:
ou
Je soupçonne qu'il doit y avoir un moyen de le faire en utilisant / abusant du z-buffer aussi - mais vous voulez probablement tester en z les «polygones de trous» en utilisant leur vrai Z, puis écrire un Z différent. Vous pourriez probablement utiliser plusieurs passes et le tampon de pochoir - dessiner le trou 3 fois avec le rendu configuré comme ceci pourrait fonctionner:
Vous devez toujours dessiner dans un ordre spécifique - d'abord l'environnement, puis les trous et enfin la skybox en dernier.
la source