funzione glGetColorTableEXT
La funzione glGetColorTableEXT ottiene i dati della tabella dei colori della tavolozza della trama di destinazione corrente.
Sintassi
void WINAPI glGetColorTableEXT(
GLenum target,
GLenum format,
GLenum type,
const GLvoid *data
);
Parametri
-
target
-
Trama di destinazione che deve essere modificata. Deve essere TEXTURE_1D o TEXTURE_2D.
-
format
-
Formato dei dati pixel. Le costanti simboliche seguenti sono accettate.
Valore Significato - GL_RGBA
Ogni pixel è un gruppo di quattro componenti nell'ordine seguente: rosso, verde, blu, alfa. Il formato RGBA viene determinato in questo modo: - La funzione glGetColorTableEXT converte i valori a virgola mobile direttamente in un formato interno con precisione non specificata. I valori integer firmati vengono mappati in modo lineare al formato interno, in modo che il valore intero rappresentabile più positivo mappa a 1.0 e il valore intero rappresentabile più negativo mappato a -1.0. I dati interi senza segno vengono mappati in modo analogo: il valore intero più grande viene mappato a 1,0 e zero esegue il mapping a 0,0.
- La funzione glGetColorTableEXT moltiplica i valori di colore risultanti per GL_c_SCALE e li aggiunge a GL_c_BIAS, dove c è RED, GREEN, BLUE e ALPHA per i rispettivi componenti di colore. I risultati vengono bloccati nell'intervallo [0,1].
- Se GL_MAP_COLOR è TRUE, glGetColorTableEXT ridimensiona ogni componente di colore in base alle dimensioni della tabella di ricerca GL_PIXEL_MAP_c_TO_c, sostituisce il componente in base al valore a cui fa riferimento in tale tabella; c è rispettivamente R, G, B o A.
- La funzione glGetColorTableEXT converte i colori RGBA risultanti in frammenti collegando le coordinate z-coordinate della posizione raster correnti e le coordinate della trama a ogni pixel, quindi assegnando coordinate x e y al frammento n, in modo che x?
=
x r + n mod width
y? = y r + n/width
dove (xr , yr ) è la posizione raster corrente. - Questi frammenti di pixel vengono quindi trattati come i frammenti generati dalla rasterizzazione di punti, linee o poligoni. La funzione glGetColorTableEXT applica mapping di trama, nebbia e tutte le operazioni di frammento prima di scrivere i frammenti nel framebuffer.
- GL_RED
Ogni pixel è un singolo componente rosso.
La funzione glGetColorTableEXT converte questo componente nel formato interno nello stesso modo in cui il componente rosso di un pixel RGBA è, quindi lo converte in un pixel RGBA con verde e blu impostato su 0,0 e alfa impostato su 1,0. Dopo questa conversione, il pixel viene considerato come se fosse stato letto come pixel RGBA.- GL_GREEN
Ogni pixel è un singolo componente verde.
La funzione glGetColorTableEXT converte questo componente nel formato interno nello stesso modo in cui il componente verde di un pixel RGBA è e quindi lo converte in un pixel RGBA con rosso e blu impostato su 0,0 e alfa impostato su 1,0. Dopo questa conversione, il pixel viene considerato come se fosse stato letto come pixel RGBA.- GL_BLUE
Ogni pixel è un singolo componente blu.
La funzione glGetColorTableEXT converte questo componente nel formato interno nello stesso modo in cui il componente blu di un pixel RGBA è e quindi lo converte in un pixel RGBA con rosso e verde impostato su 0,0 e alfa impostato su 1,0. Dopo questa conversione, il pixel viene considerato come se fosse stato letto come pixel RGBA.- GL_ALPHA
Ogni pixel è un singolo componente alfa.
La funzione glGetColorTableEXT converte questo componente nel formato interno nello stesso modo in cui il componente alfa di un pixel RGBA è e quindi lo converte in un pixel RGBA con rosso, verde e blu impostato su 0,0. Dopo questa conversione, il pixel viene considerato come se fosse stato letto come pixel RGBA.- GL_RGB
Ogni pixel è un gruppo di tre componenti in questo ordine: rosso, verde, blu.
La funzione glGetColorTableEXT converte ogni componente nel formato interno nello stesso modo in cui i componenti rossi, verdi e blu di un pixel RGBA sono. Il colore triplo viene convertito in un pixel RGBA con alfa impostato su 1,0. Dopo questa conversione, il pixel viene considerato come se fosse stato letto come pixel RGBA.- GL_BGR_EXT
Ogni pixel è un gruppo di tre componenti in questo ordine: blu, verde, rosso.
GL_BGR_EXT fornisce un formato corrispondente al layout di memoria delle bitmap indipendenti dai dispositivi di Microsoft Windows. Pertanto, le applicazioni possono usare gli stessi dati con chiamate di funzione Windows e chiamate di funzione OpenGL pixel.- GL_BGRA_EXT
Ogni pixel è un gruppo di quattro componenti in questo ordine: blu, verde, rosso, alfa.
GL_BGRA_EXT fornisce un formato corrispondente al layout di memoria delle bitmap indipendenti dal dispositivo Windows. Pertanto, le applicazioni possono usare gli stessi dati con chiamate di funzione Windows e chiamate di funzione openGL pixel. -
type
-
Tipo di dati per i dati. Di seguito sono riportate le costanti simboliche accettate e i loro significati.
Valore Significato - GL_UNSIGNED_BYTE
Intero senza segno a 8 bit - GL_BYTE
Valore intero con segno a 8 bit - GL_UNSIGNED_SHORT
Intero senza segno a 16 bit - GL_SHORT
Valore intero a 16 bit con segno - GL_UNSIGNED_INT
Intero senza segno a 32 bit - GL_INT
Intero a 32 bit - GL_FLOAT
Valore a virgola mobile e precisione singola -
data
-
Punta alla posizione in cui le informazioni sulla tabella dei colori restituite devono essere archiviate. Ogni voce di tabella colori viene archiviata come se fosse un singolo pixel di una trama 1D. Poiché tutte le trame hanno una tavolozza predefinita, glGetColorTableEXT restituisce sempre le informazioni sulla tavolozza anche se i dati della trama non sono in formato tavolozza.
Valore restituito
Questa funzione non restituisce un valore.
Codici di errore
I codici di errore seguenti possono essere recuperati dalla funzione glGetError .
Nome | Significato |
---|---|
|
target, format o tipo non è stato accettato. |
|
La funzione è stata chiamata tra una chiamata a glBegin e la chiamata corrispondente a glEnd. |
Commenti
La funzione glGetColorTableEXT ottiene i dati effettivi della tabella dei colori specificati da glColorTableEXT e glColorSubTableEXT.
La funzione glGetColorTableEXT è una funzione di estensione che non fa parte della libreria OpenGL standard, ma fa parte dell'estensione GL_EXT_paletted_texture. Per verificare se l'implementazione di OpenGL supporta glGetColorTableEXT, chiamare glGetString(GL_EXTENSIONS). Se restituisce GL_EXT_paletted_texture, glGetColorTableEXT è supportato. Per ottenere l'indirizzo della funzione di una funzione di estensione, chiamare wglGetProcAddress.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
|