Share via


funzione glColorSubTableEXT

La funzione glColorSubTableEXT specifica una parte della tavolozza della trama di destinazione da sostituire.

Sintassi

void WINAPI glColorSubTableEXT(
         GLenum  target,
         GLsizei start,
         GLsizei count,
         GLenum  format,
         GLenum  type,
   const GLvoid  *data
);

Parametri

target

Trama a tavolozza di destinazione che deve avere la sua tavolozza cambiata. Deve essere TEXTURE_1D o TEXTURE_2D.

start

Voce dell'indice della tavolozza iniziale della tavolozza da modificare.

count

Numero di voci dell'indice della tavolozza da modificare a partire dall'inizio. Il parametro count determina l'intervallo di voci di indice della tavolozza modificate.

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:
  1. La funzione glColorSubTableEXT 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 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.
  2. La funzione glColorSubTableEXT moltiplica i valori di colore risultanti GL_c_SCALE e li aggiunge a GL_c_BIAS, dove c è ROSSO, VERDE, BLU e ALFA per i rispettivi componenti di colore. I risultati vengono bloccati nell'intervallo [0,1].
  3. Se GL_MAP_COLOR è TRUE, glColorSubTableEXT 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.
  4. La funzione glColorSubTableEXT converte i colori RGBA risultanti in frammenti associando le coordinate di posizione raster correnti z-coordinate e trama a ogni pixel, quindi assegnando coordinate x e y alla finestra nth frammento in modo chex? = x r + n mod width
    y? = yr +n/larghezza
    dove (xr , yr ) è la posizione raster corrente.
  5. Questi frammenti di pixel vengono quindi trattati come i frammenti generati dalla rasterizzazione di punti, linee o poligoni. La funzione glColorSubTableEXT 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 glColorSubTableEXT 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 glColorSubTableEXT converte questo componente nel formato interno nello stesso modo in cui il componente verde di un pixel RGBA è e 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 glColorSubTableEXT converte questo componente nel formato interno nello stesso modo in cui il componente blu di un pixel RGBA è e 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 glColorSubTableEXT 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 glColorSubTableEXT 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 dal dispositivo 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. Le costanti simboliche seguenti sono accettate: GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT e GL_FLOAT.

La tabella seguente riepiloga il significato delle costanti valide per il parametro di tipo .

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

Puntatore ai dati della trama a tavolozza. I dati vengono considerati come singoli pixel di una voce della trama 1D per una voce di 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
GL_INVALID_VALUE
start o count è un intero non valido.
GL_INVALID_ENUM
target, format o tipo non è stato accettato.
GL_INVALID_VALUE
La funzione è stata chiamata tra una chiamata a glBegin e la chiamata corrispondente a glEnd.

Commenti

La funzione glColorSubTableEXT specifica parti della tavolozza della trama di destinazione corrente da sostituire. A differenza di glColorTableEXT, non è possibile specificare il parametro di destinazione come tavolozza della trama proxy.

Nota

La funzione glColorSubTableEXT è 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 glColorSubTableEXT, chiamare glGetString(GL_EXTENSIONS). Se restituisce GL_EXT_paletted_texture, glColorSubTableEXT è 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
Gl.h

Vedi anche

glBegin

glColorTableEXT

glEnd

glGetColorTableEXT

glGetColorTableParameterfvEXT

glGetColorTableParameterivEXT

glGetString

wglGetProcAddress