Función glGetTexImage
La función glGetTexImage devuelve una imagen de textura.
Sintaxis
void WINAPI glGetTexImage(
GLenum target,
GLint level,
GLenum format,
GLenum type,
GLvoid *pixels
);
Parámetros
-
Destino
-
Especifica qué textura se va a obtener. GL_TEXTURE_1D y GL_TEXTURE_2D se aceptan.
-
level
-
Número de nivel de detalle de la imagen deseada. El nivel 0 es el nivel de imagen base. El nivel n es la nªimagen de reducción de mapa mip.
-
format
-
Formato de píxel para los datos devueltos. Los formatos admitidos son GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA, GL_LUMINANCE, GL_BGR_EXT, GL_BGRA_EXT y GL_LUMINANCE_ALPHA.
-
type
-
Tipo de píxel para los datos devueltos. Los tipos admitidos son GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT y GL_FLOAT.
-
Píxeles
-
Devuelve la imagen de textura. Debe ser un puntero a una matriz del tipo especificado por tipo.
Valor devuelto
Esta función no devuelve ningún valor.
Códigos de error
La función glGetError puede recuperar los siguientes códigos de error.
Nombre | Significado |
---|---|
|
target, format o type no era un valor aceptado. |
|
level es menor que cero o mayor que log2 (max), donde max es el valor devuelto de GL_MAX_TEXTURE_SIZE. |
|
Se llamó a la función entre una llamada a glBegin y la llamada correspondiente a glEnd . |
Comentarios
La función glGetTexImage devuelve una imagen de textura en píxeles. El parámetro de destino especifica si la imagen de textura deseada es una especificada por glTexImage1D(GL_TEXTURE_1D) o por glTexImage2D(GL_TEXTURE_2D)). El parámetro level especifica el número de nivel de detalle de la imagen deseada. Los parámetros de formato y tipo especifican el formato y el tipo de la matriz de imágenes deseada. Para obtener una descripción de los valores aceptables para los parámetros de formato y tipo , respectivamente, vea glTexImage1D y glDrawPixels.
El funcionamiento de glGetTexImage se entiende mejor considerando que la imagen de textura interna de cuatro componentes seleccionada sea un búfer de color RGBA el tamaño de la imagen. La semántica de glGetTexImage es idéntica a la de glReadPixels llamada con el mismo formato y tipo, con x e y establecido en cero, ancho establecido en el ancho de la imagen de textura (incluido el borde si se especificó), y alto establecido en uno para imágenes 1D, o en el alto de la imagen de textura (incluido el borde, si se especificó uno) para las imágenes 2D.
Dado que la imagen de textura interna es una imagen RGBA, no se aceptan los formatos de píxeles GL_COLOR_INDEX, GL_STENCIL_INDEX y GL_DEPTH_COMPONENT, y no se acepta el tipo de píxel GL_BITMAP.
Si la imagen de textura seleccionada no contiene cuatro componentes, se aplican las asignaciones siguientes. Las texturas de un solo componente se tratan como búferes RGBA con el valor rojo establecido en el valor de un solo componente, y verde, azul y alfa establecido en cero.
Las texturas de dos componentes se tratan como búferes RGBA, con rojo establecido en el valor del componente cero, alfa establecido en el valor del componente uno y verde y azul establecido en cero. Por último, las texturas de tres componentes se tratan como búferes RGBA con rojo establecido en cero, verde establecido en el componente uno, azul establecido en el componente dos y alfa establecido en cero.
Para determinar el tamaño necesario de píxeles, use glGetTexLevelParameter para determinar las dimensiones de la imagen de textura interna y, a continuación, escale el número necesario de píxeles por el almacenamiento necesario para cada píxel, en función del formato y el tipo. Asegúrese de tener en cuenta los parámetros de almacenamiento de píxeles, especialmente GL_PACK_ALIGNMENT.
Si se genera un error, no se realiza ningún cambio en el contenido de píxeles.
Las siguientes funciones recuperan información relacionada con glGetTexImage:
glGet con GL_PACK_ALIGNMENT de argumentos y otros
glGetTexLevelParameter con el argumento GL_TEXTURE_WIDTH
glGetTexLevelParameter con el argumento GL_TEXTURE_HEIGHT
glGetTexLevelParameter con el argumento GL_TEXTURE_BORDER
glGetTexLevelParameter con el argumento GL_TEXTURE_COMPONENTS
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado |
|
Biblioteca |
|
Archivo DLL |
|