Bezeichnung
gl.PixelMap -- richtet Pixel-Transferkarten ein
Übersicht
gl.PixelMap(map, mapsize, valuesArray)
Beschreibung
gl.PixelMap() richtet Transfertabellen oder Karten ein, die verwendet werden von gl.CopyPixels(), gl.CopyTexImage(), gl.CopyTexSubImage(), gl.DrawPixels(), gl.ReadPixels(), gl.TexImage() und auch gl.TexImage1D(), gl.TexImage2D(), gl.TexSubImage(), gl.TexSubImage1D() und gl.TexSubImage2D(). Die Verwendung dieser Karten ist auf der Referenzseite gl.PixelTransfer() vollständig beschrieben und teilweise in den Referenzseiten für die Befehle Pixel und Texturbild. Nur das Angeben der Karten ist auf dieser Referenzseite beschrieben.

map ist ein symbolischer Kartenname, der eine von zehn zu erstellenden Karten angibt. valuesArray ist eine Tabelle, die ein Feld von Werten für den angegebenen Kartennamen enthält. Die zehn Karten sind wie folgt:

#GL_PIXEL_MAP_I_TO_I
Ordnet Farbindizes Farbindizes zu.

#GL_PIXEL_MAP_S_TO_S
Ordnet Schablonenindizes Schablonenindizes zu.

#GL_PIXEL_MAP_I_TO_R
Ordnet Farbindizes roten Komponenten zu.

#GL_PIXEL_MAP_I_TO_G
Ordnet Farbindizes grünen Komponenten zu.

#GL_PIXEL_MAP_I_TO_B
Ordnet Farbindizes blauen Komponenten zu.

#GL_PIXEL_MAP_I_TO_A
Ordnet Farbindizes Alpha-Komponenten zu.

#GL_PIXEL_MAP_R_TO_R
Ordnet rote Komponenten den roten Komponenten zu.

#GL_PIXEL_MAP_G_TO_G
Ordnet grüne Komponenten den grünen Komponenten zu.

#GL_PIXEL_MAP_B_TO_B
Ordnet blaue Komponenten den blauen Komponenten zu.

#GL_PIXEL_MAP_A_TO_A
Ordnet Alpha-Komponenten Alpha-Komponenten zu.

Die Einträge in einer Karte werden als Gleitkommazahlen angegeben. Karten, die Farbkomponentenwerte speichern (alle mit Ausnahme von #GL_PIXEL_MAP_I_TO_I und #GL_PIXEL_MAP_S_TO_S), behalten ihre Werte im Gleitkommaformat, mit nicht angegebener Fangvorrichtung und Exponentengrößen. Die durch gl.PixelMap() angegebenen Gleitkommawerte werden direkt in das interne Gleitkommaformat dieser Karten konvertiert und dann in den Bereich [0,1] festgelegt.

Karten, die Indizes speichern, #GL_PIXEL_MAP_I_TO_I und #GL_PIXEL_MAP_S_TO_S, behalten ihre Werte im Festkommaformat, mit einer unbestimmten Anzahl von Bits rechts neben dem Binärpunkt. Gleitkommawerte, die durch gl.PixelMap() angegeben werden, werden direkt in das interne Festkommaformat dieser Karten umgewandelt.

Die folgende Tabelle zeigt die anfänglichen Größen und Werte für jede der Karten. Karten, die entweder durch Farb- oder Schablonenindizes gekennzeichnet sind, müssen für einige mapsize = 2^n haben oder die Ergebnisse sind undefiniert. Die maximal zulässige Größe für jede Map hängt von der Implementierung ab und kann durch Aufruf von gl.Get() mit dem Argument #GL_MAX_PIXEL_MAP_TABLE bestimmt werden. Das einzelne Maximum gilt für alle Karten; es beträgt mindestens 32.

 
        Karte        Lookup-Index   Lookup-Wert  Def Grösse Def Wert
--------------------------------------------------------------------
#GL_PIXEL_MAP_I_TO_I  Farbindex      Farbindex        1        0
#GL_PIXEL_MAP_S_TO_S Schablonenindex Schablonenindex  1        0
#GL_PIXEL_MAP_I_TO_R  Farbindex          R            1        0
#GL_PIXEL_MAP_I_TO_G  Farbindex          G            1        0
#GL_PIXEL_MAP_I_TO_B  Farbindex          B            1        0
#GL_PIXEL_MAP_I_TO_A  Farbindex          A            1        0
#GL_PIXEL_MAP_R_TO_R      R              R            1        0
#GL_PIXEL_MAP_G_TO_G      G              G            1        0
#GL_PIXEL_MAP_B_TO_B      B              B            1        0
#GL_PIXEL_MAP_A_TO_A      A              A            1        0

Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.

Eingaben
map
gibt einen symbolischen Kartennamen an (siehe oben für unterstützte Namen)
mapsize
gibt die Größe der zu definierenden Karte an.
valuesArray
gibt eine Tabelle an, die ein Feld von Werten enthält
Fehler
#GL_INVALID_ENUM wird erzeugt, wenn map kein akzeptierter Wert ist.

#GL_INVALID_VALUE wird erzeugt, wenn mapsize kleiner als eins oder größer als #GL_MAX_PIXEL_MAP_TABLE ist.

#GL_INVALID_VALUE wird erzeugt, wenn map #GL_PIXEL_MAP_I_TO_I, #GL_PIXEL_MAP_S_TO_S, #GL_PIXEL_MAP_I_TO_R, #GL_PIXEL_MAP_I_TO_G, #GL_PIXEL_MAP_I_TO_B, oder #GL_PIXEL_MAP_I_TO_A und die Kartengröße keine Zweierpotenz ist.

#GL_INVALID_OPERATION wird erzeugt, wenn gl.PixelMap() zwischen gl.Begin() und gl.End() ausgeführt wird.

Verbundene get-operationen
gl.GetPixelMap()

gl.Get() mit dem Argument #GL_PIXEL_MAP_I_TO_I_SIZE

gl.Get() mit dem Argument #GL_PIXEL_MAP_S_TO_S_SIZE

gl.Get() mit dem Argument #GL_PIXEL_MAP_I_TO_R_SIZE

gl.Get() mit dem Argument #GL_PIXEL_MAP_I_TO_G_SIZE

gl.Get() mit dem Argument #GL_PIXEL_MAP_I_TO_B_SIZE

gl.Get() mit dem Argument #GL_PIXEL_MAP_I_TO_A_SIZE

gl.Get() mit dem Argument #GL_PIXEL_MAP_R_TO_R_SIZE

gl.Get() mit dem Argument #GL_PIXEL_MAP_G_TO_G_SIZE

gl.Get() mit dem Argument #GL_PIXEL_MAP_B_TO_B_SIZE

gl.Get() mit dem Argument #GL_PIXEL_MAP_A_TO_A_SIZE

gl.Get() mit dem Argument #GL_MAX_PIXEL_MAP_TABLE


Navigation zeigen