glDepthRange

Aus DGL Wiki
Version vom 31. August 2004, 11:50 Uhr von Flo (Diskussion | Beiträge) (Der Kategorie GL zugeordnet)

Wechseln zu: Navigation, Suche

glDepthRange


Name

glDepthRange - Bestimmt wie z-Werte von normalisierten Gerätekoordinaten (Device coordinates) zu Fensterkoordinaten (Window coordinates) umgerechnet werden.


Delphi-Spezifikation

procedure glDepthRange(zNear: TGLclampd; zFar: TGLclampd);


Parameter

near Beschreibt wie die nahe Schnittfläche in Fensterkoordinaten umgerechnet werden soll.
Vorgabewert ist 0.
far Beschreibt, wie die ferne Schnittfläche in Fensterkoordinaten umgerechnet werden soll.
Vorgabewert ist 0.


Beschreibung

Nach dem die Z-Koordinaten abgeschnitten (clipping) und durch w geteilt wurden, reichen sie von -1.0 bis 1.0 im Bezug auf die nahe und ferne Schnittfläche.
glDepthRange beschreibt, wie die normalisieten Z-Koordinaten linear auf dieses Intervall abgebildet und damit in Fenster-Z-Koordinaten umgerechnet werden.
Ganz egal wie die aktuelle Implementation des Tiefenpuffers ist, die Tiefenwerte der Fensterkoordinaten werden immer so behandelt, als ob sie von 0.0 bis 1.0 reichen würden (so wie Farbkomponenten). Das heißt wiederum, dass beide Werte die von glDepthRange akzeptiert werden auf dieses Intervall heruntergerechnet werden bevor sie akzeptiert werden.

Die Vorgabe von 0, 1 überträgt die nahe Schnittfläche auf 0 und die ferne auf 1.
Mit dieser Einstellung wird der Tiefenpuffer vollständig ausgenutzt.


Hinweise

Es ist nicht notwendig, dass near kleiner als far ist. Umgekehrtes Mapping z.B. mit 1, 0 wird akzeptiert


Fehlermeldungen

GL_INVALID_OPERATION wird generiert wenn glDepthRange innerhalb eines glBegin-glEnd Blocks aufgerufen wird.


Zugehörige Wertrückgaben

glGet mit Token GL_Depth_Range


Siehe auch

glDepthFunc, glViewport