glColorSubTableEXT-Funktion
Die glColorSubTableEXT-Funktion gibt einen Teil der Zu ersetzenden Palette der Zieltextur an.
Syntax
void WINAPI glColorSubTableEXT(
GLenum target,
GLsizei start,
GLsizei count,
GLenum format,
GLenum type,
const GLvoid *data
);
Parameter
-
Ziel
-
Die Zielpalettentextur, bei der die Palette geändert werden soll. Muss TEXTURE_1D oder TEXTURE_2D sein.
-
start
-
Der Indexeintrag der Startpalette der zu ändernden Palette.
-
count
-
Die Anzahl der Palettenindexeinträge der Palette, die ab anfang geändert werden soll. Der count-Parameter bestimmt den Bereich von Palettenindexeinträgen, die geändert werden.
-
format
-
Das Format der Pixeldaten. Die folgenden symbolischen Konstanten werden akzeptiert.
Wert Bedeutung - GL_RGBA
Jedes Pixel ist eine Gruppe von vier Komponenten in der folgenden Reihenfolge: rot, grün, blau, alpha. Das RGBA-Format wird auf folgende Weise bestimmt: - Die glColorSubTableEXT-Funktion konvertiert Gleitkommawerte direkt in ein internes Format mit nicht angegebener Genauigkeit. Ganzzahlwerte mit Vorzeichen werden linear dem internen Format zugeordnet, sodass der positivste darstellbare ganzzahlige Wert 1,0 und der negativste darstellbare Wert -1,0 zugeordnet wird. Ganzzahlige Daten ohne Vorzeichen werden ähnlich zugeordnet: Der größte ganzzahlige Wert wird 1,0 zugeordnet, und null wird 0,0 zugeordnet.
- Die glColorSubTableEXT-Funktion multipliziert die resultierenden Farbwerte mit GL_c_SCALE und fügt sie GL_c_BIAS hinzu, wobei c für die jeweiligen Farbkomponenten ROT, GRÜN, BLAU und ALPHA ist. Die Ergebnisse werden auf den Bereich [0,1] geklemmt.
- Wenn GL_MAP_COLOR TRUE ist, skaliert glColorSubTableEXT jede Farbkomponente nach der Größe der Nachschlagetabelle GL_PIXEL_MAP_c_TO_c und ersetzt dann die Komponente durch den Wert, auf den sie in dieser Tabelle verweist. c ist R, G, B oder A.
- Die glColorSubTableEXT-Funktion konvertiert die resultierenden RGBA-Farben in Fragmente, indem die aktuelle Rasterposition z-Koordinaten und Texturkoordinaten an jeden Pixel angefügt und dann dem n-tenFragment x- undy-Fensterkoordinaten zugewiesen werden, so dassx?
=
xr + nMod-Breite
y? = yr +n / breite
wobei (xr , yr ) die aktuelle Rasterposition ist. - Diese Pixelfragmente werden dann genau wie die Fragmente behandelt, die durch das Rastern von Punkten, Linien oder Polygonen generiert werden. Die glColorSubTableEXT-Funktion wendet Texturzuordnung, Nebel und alle Fragmentvorgänge an, bevor die Fragmente in den Framebuffer geschrieben werden.
- GL_RED
Jedes Pixel ist eine einzelne rote Komponente.
Die glColorSubTableEXT-Funktion konvertiert diese Komponente in das interne Format auf die gleiche Weise wie die rote Komponente eines RGBA-Pixels, konvertiert sie dann in ein RGBA-Pixel mit grün und blau auf 0,0 und Alpha auf 1,0. Nach dieser Konvertierung wird das Pixel so behandelt, als wäre es als RGBA-Pixel gelesen worden.- GL_GREEN
Jedes Pixel ist eine einzelne grüne Komponente.
Die glColorSubTableEXT-Funktion konvertiert diese Komponente in das interne Format auf die gleiche Weise wie die grüne Komponente eines RGBA-Pixels und konvertiert sie dann in ein RGBA-Pixel mit rot und blau auf 0,0 und Alpha auf 1,0 festgelegt. Nach dieser Konvertierung wird das Pixel so behandelt, als wäre es als RGBA-Pixel gelesen worden.- GL_BLUE
Jedes Pixel ist eine einzelne blaue Komponente.
Die glColorSubTableEXT-Funktion konvertiert diese Komponente in das interne Format auf die gleiche Weise wie die blaue Komponente eines RGBA-Pixels und konvertiert sie dann in ein RGBA-Pixel, dessen Rot und Grün auf 0,0 und Alpha auf 1,0 festgelegt ist. Nach dieser Konvertierung wird das Pixel so behandelt, als wäre es als RGBA-Pixel gelesen worden.- GL_ALPHA
Jedes Pixel ist eine einzelne Alphakomponente.
Die glColorSubTableEXT-Funktion konvertiert diese Komponente in das interne Format auf die gleiche Weise wie die Alphakomponente eines RGBA-Pixels und konvertiert sie dann in ein RGBA-Pixel, dessen Rot, Grün und Blau auf 0,0 festgelegt ist. Nach dieser Konvertierung wird das Pixel so behandelt, als wäre es als RGBA-Pixel gelesen worden.- GL_RGB
Jedes Pixel ist eine Gruppe von drei Komponenten in dieser Reihenfolge: rot, grün, blau.
Die glColorSubTableEXT-Funktion konvertiert jede Komponente auf die gleiche Weise in das interne Format wie die roten, grünen und blauen Komponenten eines RGBA-Pixels. Das Farbdreifach wird in ein RGBA-Pixel mit Alpha auf 1,0 konvertiert. Nach dieser Konvertierung wird das Pixel so behandelt, als wäre es als RGBA-Pixel gelesen worden.- GL_BGR_EXT
Jedes Pixel ist eine Gruppe von drei Komponenten in dieser Reihenfolge: blau, grün, rot.
GL_BGR_EXT bietet ein Format, das dem Speicherlayout von windows device-independent bitmaps (DIBs) entspricht. Daher können Ihre Anwendungen dieselben Daten mit Windows-Funktionsaufrufen und OpenGL-Pixelfunktionsaufrufen verwenden.- GL_BGRA_EXT
Jedes Pixel ist eine Gruppe von vier Komponenten in dieser Reihenfolge: blau, grün, rot, alpha.
GL_BGRA_EXT stellt ein Format bereit, das dem Speicherlayout von windows device-independent bitmaps (DIBs) entspricht. Daher können Ihre Anwendungen dieselben Daten mit Windows-Funktionsaufrufen und OpenGL-Pixelfunktionsaufrufen verwenden. -
type
-
Der Datentyp für Daten. Die folgenden symbolischen Konstanten werden akzeptiert: GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT und GL_FLOAT.
In der folgenden Tabelle wird die Bedeutung der gültigen Konstanten für den Type-Parameter zusammengefasst.
Wert Bedeutung - GL_UNSIGNED_BYTE
8-Bit-Ganzzahl ohne Vorzeichen - GL_BYTE
Ganze 8-Bit-Zahl mit Vorzeichen - GL_UNSIGNED_SHORT
16-Bit-Ganzzahl ohne Vorzeichen - GL_SHORT
Ganze 16-Bit-Zahl mit Vorzeichen - GL_UNSIGNED_INT
32-Bit Ganzzahl ohne Vorzeichen - GL_INT
32-bit integer - GL_FLOAT
Gleitkommawert mit einfacher Genauigkeit -
data
-
Ein Zeiger auf die farbpaletten Texturdaten. Die Daten werden als einzelne Pixel eines 1D-Texturpaletteneintrags für einen Paletteneintrag behandelt.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Fehlercodes
Die folgenden Fehlercodes können von der glGetError-Funktion abgerufen werden.
Name | Bedeutung |
---|---|
|
Start oder Count war eine ungültige ganze Zahl. |
|
target, format, or type war kein akzeptierter Wert. |
|
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen. |
Bemerkungen
Die glColorSubTableEXT-Funktion gibt Teile der Zu ersetzenden Palette der aktuellen Zieltextur an. Im Gegensatz zu glColorTableEXT können Sie den Zielparameter nicht als Proxytexturpalette angeben.
Hinweis
Die glColorSubTableEXT-Funktion ist eine Erweiterungsfunktion, die nicht Teil der OpenGL-Standardbibliothek ist, sondern Teil der GL_EXT_paletted_texture-Erweiterung ist. Rufen Sie glGetString(GL_EXTENSIONS) auf, um zu überprüfen, ob Ihre OpenGL-Implementierung glColorSubTableEXT unterstützt. Wenn GL_EXT_paletted_texture zurückgegeben wird, wird glColorSubTableEXT unterstützt. Rufen Sie wglGetProcAddress auf, um die Funktionsadresse einer Erweiterungsfunktion abzurufen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
Header |
|