glPolygonOffset: Unterschied zwischen den Versionen
K |
K (→Siehe auch: glDepthRange hinzugefügt) |
||
Zeile 63: | Zeile 63: | ||
== Siehe auch == | == Siehe auch == | ||
− | [[glDepthFunc]], [[glEnable]], [[glGet]], [[glIsEnabled]], [[glLineWidth]], [[glStencilOp]], [[glTexEnv]] | + | [[glDepthFunc]], [[glDepthRange]], [[glEnable]], [[glGet]], [[glIsEnabled]], [[glLineWidth]], [[glStencilOp]], [[glTexEnv]] |
[[Kategorie:GL|PolygonOffset]] | [[Kategorie:GL|PolygonOffset]] | ||
[[Kategorie:GL1.1|PolygonOffset]] | [[Kategorie:GL1.1|PolygonOffset]] |
Aktuelle Version vom 18. Oktober 2010, 12:37 Uhr
Inhaltsverzeichnis
glPolygonOffset
Name
glPolygonOffset - setzt die Skalierung und Einheiten, die für die Tiefenberechnung verwendet werden sollen.
Delphi-Spezifikation
procedure glPolygonOffset(factor: TGLfloat; units: TGLfloat);
Parameter
factor | Definiert einen Skalierungsfaktor, der benutzt wird, um einen variablen Tiefenversatz (Depth Offset) für jedes Polygon. Der Initialwert ist 0. |
---|---|
units | Wird mit einem implementationsabhängigen Wert multipliziert, um einen konstanten Tiefenversatz zu erreichen. Der Initialwert ist 0. |
Beschreibung
Wenn GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_LINE oder GL_POLYGON_OFFSET_POINT aktiviert ist, wird der Tiefenwert jedes Fragments um einen bestimmten Wert verschoben, nachdem der eigentliche Tiefenwert aus den betreffenden Vertexinformationen interpoliert wurde. Der Wert wird errechnet aus
factor * DZ + r * units, wobei
- DZ die Maßeinheit für die Tiefenverschiebung relativ zum Bildschirmbereich des Polygons und
- r der kleinste Wert ist, der garantiert noch eine gültige Verschiebung für die aktuelle OpenGL-Implementation liefert.
Der Offset wird addiert bevor der Tiefentest durchgeführt wird und bevor die Werte in den Tiefenpuffer geschrieben werden.
glPolygonOffset ist nützlich, um
- Raster-Bildern (engl: hidden-line images) zu rendern.
- Decals auf Oberflächen zu mappen.
- Solide Körper mit beleuchteten Kanten (highlighted edges) zu rendern.
- ZFighting zu beheben.
Hinweise
glPolygonOffset ist ab OpenGL Version 1.1 verfügbar.
glPolygonOffset hat keinen Effekt auf die Tiefenwerte im Feedbackpuffer.
glPolygonOffset hat keinen Effekt auf die Selektion.
Fehlermeldungen
GL_INVALID_OPERATION wird generiert, wenn glPolygonOffset innerhalb eines glBegin-glEnd-Blocks aufgerufen wird.
Zugehörige Wertrückgaben
glIsEnabled mit Token GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_LINE, oder GL_POLYGON_OFFSET_POINT
glGet mit Token GL_POLYGON_OFFSET_FACTOR oder GL_POLYGON_OFFSET_UNITS
Siehe auch
glDepthFunc, glDepthRange, glEnable, glGet, glIsEnabled, glLineWidth, glStencilOp, glTexEnv