glRasterPos4iv-Funktion

Gibt die Rasterposition für Pixelvorgänge an.

Syntax

void WINAPI glRasterPos4iv(
   const GLint *v
);

Parameter

V

Ein Zeiger auf ein Array von vier Elementen, das x,y, z und w-Koordinaten für die aktuelle Rasterposition angibt.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Bemerkungen

OpenGL verwaltet eine 3D-Position in Fensterkoordinaten. Diese Position, die als Rasterposition bezeichnet wird, wird mit Subpixelgenauigkeit beibehalten. Es wird verwendet, um Pixel- und Bitmap-Schreibvorgänge zu positionieren. Siehe glBitmap, glDrawPixels und glCopyPixels.

Die aktuelle Rasterposition besteht aus drei Fensterkoordinaten (x, y, z), einem Clipkoordinaten-W-Wert, einem Augenkoordinatenabstand, einem gültigen Bit und zugeordneten Farbdaten und Texturkoordinaten. Die w-Koordinate ist eine Clipkoordinate, da w nicht auf Fensterkoordinaten projiziert wird. Die funktion glRasterPos4 gibt objektkoordinaten x, y, z und w explizit an. Die glRasterPos3-Funktion gibt Objektkoordinaten x, y und z explizit an, während w implizit auf eine festgelegt ist. Die GlRasterPos2-Funktion verwendet die Argumentwerte für x und y, während sie z und w implizit auf Null und 1 festlegen.

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

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 im 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, Statusvariable GL_CURRENT_COLOR) oder 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 basierend auf der Texturmatrix und den Texturgenerierungsfunktionen aktualisiert (siehe glTexGen). Schließlich ersetzt der Abstand vom Ursprung des Augenkoordinatensystems zum Scheitelpunkt, wie nur die Modellansichtsmatrix transformiert wird, GL_CURRENT_RASTER_DISTANCE.

Zunächst lautet die aktuelle Rasterposition (0,0,0,1), der aktuelle Rasterabstand ist 0, der 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, die auf der Rasterposition basieren, ignoriert (d. b. 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

Requirements (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

Weitere Informationen

glBegin

glBitmap

glCopyPixels

glDrawPixels

glEnd

glLight

glLightModel

glShadeModel

glTexCoord

glTexGen

glVertex