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
GL_INVALID_ENUM
target, format o type non è un valore accettato.
GL_INVALID_VALUE
level è minore di zero o maggiore di log2 (max), dove max è il valore restituito di GL_MAX_TEXTURE_SIZE.
GL_INVALID_OPERATION
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
Gl.h
Libreria
Opengl32.lib
DLL
Opengl32.dll

Vedi anche

glBegin

glDrawPixels

glEnd

glGetTexLevelParameter

glReadPixels

glTexImage1D

glTexImage2D