2011-08-26 1 views
2

Je sais qu'il est possible de contrôler ce qui est écrit dans le tampon de profondeur dans GLSL en écrivant à gl_FragDepth, mais est-il possible d'écrire dans le tampon stencil?Affecter la profondeur, ou le tampon stencil de l'intérieur du fragment shader?

De même, est-ce que je peux annuler complètement une écriture de pixel à partir du fragment-shader, comme si le pixel avait échoué à un test de stencil ou de profondeur?

Merci

Répondre

4

Si vous utilisez le bon matériel, vous pouvez écrire dans la mémoire tampon de pochoir. Tout le matériel Radeon HD peut utiliser AMD_stencil_shader_export. Il y a un ARB_stencil_shader_export, mais je ne peux pas vérifier s'il est particulièrement répandu. Si vous voulez empêcher l'écriture d'un fragment, vous pouvez utiliser discard. C'est un peu comme lancer une exception conceptuellement (mais pas comportementalement).

+0

rejeter fonctionne, merci. Je viens de découvrir que gl_FragDepth a été retiré de gles 2.0 si = / – bitwise

Questions connexes