glPolygonOffset: Unterschied zwischen den Versionen
(→Name) |
Flash (Diskussion | Beiträge) K (→Beschreibung: Korrigiert) |
||
Zeile 25: | Zeile 25: | ||
== Beschreibung == | == Beschreibung == | ||
− | Wenn GL_POLYGON_OFFSET aktiviert ist, wird der Tiefenwert jedes [[Fragment]]s um einen bestimmten Wert verschoben, nachdem der eigentliche Tiefenwert aus den Vertexinformationen | + | Wenn GL_POLYGON_OFFSET aktiviert ist, wird der Tiefenwert jedes [[Fragment]]s um einen bestimmten Wert verschoben, nachdem der eigentliche Tiefenwert aus den betreffenden Vertexinformationen interpoliert wurde. Der Wert wird errechnet aus <br> |
''factor'' * DZ + r * ''units'', wobei<br> | ''factor'' * DZ + r * ''units'', wobei<br> | ||
− | * DZ die Maßeinheit für die | + | * 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. | * 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. | Der Offset wird addiert bevor der [[Tiefentest]] durchgeführt wird und bevor die Werte in den [[Tiefenpuffer]] geschrieben werden. | ||
'''glPolygonOffset''' ist nützlich um | '''glPolygonOffset''' ist nützlich um | ||
− | * | + | * Raster-Bildern (engl: hidden-line images) zu rendern. |
* [[Decals]] auf Oberflächen zu mappen. | * [[Decals]] auf Oberflächen zu mappen. | ||
* Solide Körper mit beleuchteten Kanten (highlighted edges) zu rendern. | * Solide Körper mit beleuchteten Kanten (highlighted edges) zu rendern. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<br> | <br> |
Version vom 20. Juni 2005, 18:25 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 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.
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, glEnable, glGet, glIsEnabled, glLineWidth, glStencilOp, glTexEnv