Computergrafik
GL Stenciling
← GL Alpha Test | ● | Programmable Pipeline →
Stenciling: Ausschneiden von Geometrie auf Fragmentebene.
Bildquelle: https://learnopengl.com/Advanced-OpenGL/Stencil-testing
Zusätzlicher Stencilbuffer erforderlich.
Stencilwerte werden beim Zeichnen der Fragmente erhöht, erniedrigt, oder gleich gelassen.
Gleichzeitig entscheidet der Steciltest anhand der Stencilwerte, ob das Fragment gezeichnet wird oder nicht.
glStencilOp(GL_KEEP, // fail
GL_KEEP, // zfail
GL_INCR); // zpass
glStencilFunc(GL_EQUAL, // comparison function
0, // reference value
1); // bitmask
GL_KEEP, // zfail
GL_INCR); // zpass
glStencilFunc(GL_EQUAL, // comparison function
0, // reference value
1); // bitmask
Anwendung:
- Cockpit Overlay (Beispiel in OpenGL)
- Coplanare Detailgeometrie
- Portale (Beispiel aus der Unity Game Engine)
- Shadow Volumes (Youtube Video)
Mit LGL: nicht implementiert!
← GL Alpha Test | ● | Programmable Pipeline →