funzione glGetTexImage
La funzione glGetTexImage restituisce un'immagine di trama.
Sintassi
void WINAPI glGetTexImage(
GLenum target,
GLint level,
GLenum format,
GLenum type,
GLvoid *pixels
);
Parametri
-
target
-
Specifica la trama da ottenere. GL_TEXTURE_1D e GL_TEXTURE_2D vengono accettati.
-
level
-
Numero di dettaglio del livello dell'immagine desiderata. Il livello 0 è il livello dell'immagine di base. Il livello n è l'n immaginedi riduzione mipmap.
-
format
-
Formato pixel per i dati restituiti. I formati supportati sono GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA, GL_LUMINANCE, GL_BGR_EXT, GL_BGRA_EXT e GL_LUMINANCE_ALPHA.
-
type
-
Tipo di pixel per i dati restituiti. I tipi supportati sono GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT e GL_FLOAT.
-
Pixel
-
Restituisce l'immagine della trama. Deve essere un puntatore a una matrice del tipo specificato dal tipo.
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 type non è un valore accettato. |
|
level è minore di zero o maggiore di log2 (max), dove max è il valore restituito di GL_MAX_TEXTURE_SIZE. |
|
La funzione è stata chiamata tra una chiamata a glBegin e la chiamata corrispondente a glEnd . |
Commenti
La funzione glGetTexImage restituisce un'immagine trama in pixel. Il parametro di destinazione specifica se l'immagine di trama desiderata è specificata da glTexImage1D(GL_TEXTURE_1D) o da glTexImage2D(GL_TEXTURE_2D). Il parametro level consente di specificare il numero di livello di dettaglio dell'immagine desiderata. I parametri di formato e tipo specificano il formato e il tipo della matrice di immagini desiderata. Per una descrizione dei valori accettabili per i parametri di formato e di tipo , vedere rispettivamente glTexImage1D e glDrawPixels.
L'operazione di glGetTexImage è più comprensibile considerando che l'immagine di trama interna a quattro componenti selezionata sia un buffer di colori RGBA le dimensioni dell'immagine. La semantica di glGetTexImage è quindi identica a quella di glReadPixels chiamata con lo stesso formato e tipo, con x e y impostata su zero, larghezza impostata sulla larghezza dell'immagine della trama (incluso il bordo se è stato specificato) e altezza impostata su uno per le immagini 1D o sull'altezza dell'immagine della trama (incluso il bordo, se ne è stato specificato uno) per le immagini 2D.
Poiché l'immagine trama interna è un'immagine RGBA, i formati pixel GL_COLOR_INDEX, GL_STENCIL_INDEX e GL_DEPTH_COMPONENT non sono accettati e il tipo di pixel GL_BITMAP non è accettato.
Se l'immagine di trama selezionata non contiene quattro componenti, vengono applicati i mapping seguenti. Le trame a singolo componente vengono considerate buffer RGBA con rosso impostato sul valore a componente singolo e verde, blu e alfa impostato su zero.
Le trame a due componenti vengono considerate buffer RGBA, con rosso impostato sul valore di componente zero, alfa impostato sul valore del componente 1 e verde e blu impostato su zero. Infine, le trame a tre componenti vengono considerate buffer RGBA con rosso impostato su zero componente, verde impostato sul componente 1, blu impostato su componente 2 e alfa impostato su zero.
Per determinare le dimensioni necessarie di pixel, usare glGetTexLevelParameter per verificare le dimensioni dell'immagine della trama interna e quindi ridimensionare il numero di pixel richiesto dalla risorsa di archiviazione necessaria per ogni pixel, in base al formato e al tipo. Assicurarsi di prendere in considerazione i parametri di archiviazione pixel, in particolare GL_PACK_ALIGNMENT.
Se viene generato un errore, non viene apportata alcuna modifica al contenuto dei pixel.
Le funzioni seguenti recuperano informazioni correlate a glGetTexImage:
glGet con argomenti GL_PACK_ALIGNMENT e altri
glGetTexLevelParameter con argomento GL_TEXTURE_WIDTH
glGetTexLevelParameter con argomento GL_TEXTURE_HEIGHT
glGetTexLevelParameter con argomento GL_TEXTURE_BORDER
glGetTexLevelParameter con argomento GL_TEXTURE_COMPONENTS
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
|
Libreria |
|
DLL |
|