Bezeichnung
gl.PolygonOffset -- stellt die Skala und die Einheiten zur Berechnung der Tiefenwerte ein
Übersicht
gl.PolygonOffset(factor, units)
Beschreibung
Wenn #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.

Eingaben
factor
gibt einen Skalierungsfaktor an, der verwendet wird, um einen variablen Tiefenversatz für jedes Polygon zu erzeugen; der Anfangswert ist 0
units
wird mit einem implementierungsspezifischen Wert multipliziert, um einen konstanten Tiefenversatz zu erzeugen; der Anfangswert ist 0
Fehler
#GL_INVALID_OPERATION wird erzeugt, wenn gl.PolygonOffset() zwischen gl.Begin() und gl.End() ausgeführt wird.

Verbundene get-operationen
gl.IsEnabled() mit dem Argument #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.


Navigation zeigen