Freigeben über


glRasterPos3d-Funktion

Gibt die Rasterposition für Pixelvorgänge an.

Syntax

void WINAPI glRasterPos3d(
   GLdouble x,
   GLdouble y,
   GLdouble z
);

Parameter

x

Gibt die x-Koordinate für die aktuelle Rasterposition an.

y

Gibt die y-Koordinate für die aktuelle Rasterposition an.

z

Gibt die Z-Koordinate für die aktuelle Rasterposition an.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Bemerkungen

OpenGL behält eine 3D-Position in Fensterkoordinaten bei. Diese Position, die als Rasterposition bezeichnet wird, wird mit Subpixelgenauigkeit beibehalten. Sie wird zum Positionieren von Pixel- und Bitmapschreibvorgängen verwendet. Siehe glBitmap, glDrawPixels und glCopyPixels.

Die aktuelle Rasterposition besteht aus drei Fensterkoordinaten (x, y, z), einer Clipkoordinate w-Wert , einem Blickkoordinatenabstand, einem gültigen Bit und zugeordneten Farb- und Texturkoordinaten. Die w-Koordinate ist eine Clipkoordinate, da w nicht in Fensterkoordinaten projiziert wird. Die glRasterPos4-Funktion gibt die Objektkoordinaten x, y, z und w explizit an. Die glRasterPos3-Funktion gibt die Objektkoordinaten x, y und z explizit an, während w implizit auf 1 festgelegt ist. Die glRasterPos2-Funktion verwendet die Argumentwerte für x und y , während z und w implizit auf 0 und 1 festgelegt werden.

Die von glRasterPos dargestellten Objektkoordinaten werden wie die eines glVertex-Befehls behandelt. Sie werden von den aktuellen Modellansichts- und Projektionsmatrizen transformiert und an die Clippingphase übergeben. Wenn der Scheitelpunkt nicht gekullt wird, wird er auf Fensterkoordinaten projiziert und skaliert, die zur neuen aktuellen Rasterposition werden, und das flag GL_CURRENT_RASTER_POSITION_VALID wird festgelegt. Wenn der Scheitelpunkt gekullt wird, wird das gültige Bit gelöscht, und die aktuelle Rasterposition und die zugehörigen Farb- und Texturkoordinaten sind undefiniert.

Die aktuelle Rasterposition enthält auch einige zugeordnete Farbdaten und Texturkoordinaten. Wenn die Beleuchtung aktiviert ist, wird GL_CURRENT_RASTER_COLOR im RGBA-Modus oder der GL_CURRENT_RASTER_INDEX im Farbindexmodus auf die Farbe festgelegt, die von der Beleuchtungsberechnung erzeugt wird (siehe glLight, glLightModel und glShadeModel). Wenn die Beleuchtung deaktiviert ist, wird die aktuelle Farbe (im RGBA-Modus, Zustandsvariable GL_CURRENT_COLOR) oder der Farbindex (im Farbindexmodus, Zustandsvariable GL_CURRENT_INDEX) verwendet, um die aktuelle Rasterfarbe zu aktualisieren.

Ebenso wird GL_CURRENT_RASTER_TEXTURE_COORDS als Funktion von GL_CURRENT_TEXTURE_COORDS aktualisiert, basierend auf der Texturmatrix und den Texturgenerierungsfunktionen (siehe glTexGen). Schließlich ersetzt der Abstand zwischen dem Ursprung des Augenkoordinatensystems und dem Scheitelpunkt, wie er nur von der Modellansichtsmatrix transformiert wird, GL_CURRENT_RASTER_DISTANCE.

Zunächst ist die aktuelle Rasterposition (0,0,0,1), der aktuelle Rasterabstand 0, das gültige Bit ist festgelegt, die zugeordnete RGBA-Farbe ist (1,1,1,1), der zugeordnete Farbindex ist 1, und die zugeordneten Texturkoordinaten sind (0, 0, 0, 1). Im RGBA-Modus ist GL_CURRENT_RASTER_INDEX immer 1; im Farbindexmodus behält die aktuelle Raster-RGBA-Farbe immer ihren Anfangswert bei.

Hinweis

Die Rasterposition wird sowohl von glRasterPos als auch von glBitmap geändert.

Hinweis

Wenn die Rasterpositionskoordinaten ungültig sind, werden Zeichenbefehle ignoriert, die auf der Rasterposition basieren (d. a. sie führen nicht zu Änderungen am OpenGL-Zustand).

Die folgenden Funktionen rufen Informationen im Zusammenhang mit glRasterPos ab:

glGet mit Argument GL_CURRENT_RASTER_POSITION
glGet mit argument GL_CURRENT_RASTER_POSITION_VALID
glGet mit Argument GL_CURRENT_RASTER_DISTANCE
glGet mit Argument GL_CURRENT_RASTER_COLOR
glGet mit Argument GL_CURRENT_RASTER_INDEX
glGet mit argument GL_CURRENT_RASTER_TEXTURE_COORDS

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Gl.h
Bibliothek
Opengl32.lib
DLL
Opengl32.dll

Siehe auch

glBegin

glBitmap

glCopyPixels

glDrawPixels

glEnd

glLight

glLightModel

glShadeModel

glTexCoord

glTexGen

glVertex