gl.PolygonOffset(factor, units)
#GL_POLYGON_OFFSET_FILL
, #GL_POLYGON_OFFSET_LINE
oder #GL_POLYGON_OFFSET_POINT
aktiviert ist, wird der Tiefenwert jedes Fragments nach der Interpolation aus
den Tiefenwerten der entsprechenden Knoten verschoben. Der Wert des Versatzes
ist Faktor * delta(Z) + r * Einheiten, wobei delta(Z) ein Maß für die
Tiefenänderung in Bezug auf die Bildschirmfläche des Polygons ist und r der
kleinste Wert ist, der garantiert einen lösbaren Versatz für eine gegebene
Implementierung erzeugt. Der Versatz wird addiert, bevor der Tiefentest
durchgeführt wird und bevor der Wert in den Tiefenpuffer geschrieben wird.
gl.PolygonOffset()
ist nützlich für das Rendern von Bildern mit verdeckten
Linien, für das Aufbringen von Bildern auf Oberflächen und für das Rendern
von Festkörpern mit hervorgehobenen Kanten.
gl.PolygonOffset()
hat keinen Einfluss auf die Tiefenkoordinaten, die im
Feedback-Puffer platziert sind.
gl.PolygonOffset()
hat keinen Einfluss auf die Auswahl (Modus).
Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.
#GL_INVALID_OPERATION
wird erzeugt, wenn gl.PolygonOffset()
zwischen
gl.Begin() und gl.End() ausgeführt wird.
#GL_POLYGON_OFFSET_FILL
,
#GL_POLYGON_OFFSET_LINE
, oder #GL_POLYGON_OFFSET_POINT
.
gl.Get() mit dem Argument #GL_POLYGON_OFFSET_FACTOR
oder #GL_POLYGON_OFFSET_UNITS
.