Compartir a través de


Función glCopyTexImage2D

La función glCopyTexImage2D copia píxeles del búfer de fotogramas en una imagen de textura bidimensional.

Sintaxis

void WINAPI glCopyTexImage2D(
   GLenum  target,
   GLint   level,
   GLenum  internalFormat,
   GLint   x,
   GLint   y,
   GLsizei width,
   GLsizei height,
   GLint   border
);

Parámetros

Destino

Destino al que se cambiarán los datos de la imagen. Debe tener el valor GL_TEXTURE_2D.

level

Número de nivel de detalle. El nivel 0 es la imagen base. El nivel n es la imagen de reducción de mapa mip.

internalFormat

Formato interno y resolución de los datos de textura. Los valores 1, 2, 3 y 4 no se aceptan para internalFormat. El parámetro puede suponer uno de los siguientes valores simbólicos.

Constante R Bits G Bits B Bits A Bits L Bits I Bits
GL_ALPHA
GL_ALPHA4 4
GL_ALPHA8 8
GL_ALPHA12 12
GL_ALPHA16 16
GL_LUMINANCE
GL_LUMINANCE4 4
GL_LUMINANCE8 8
GL_LUMINANCE12 12
GL_LUMINANCE16 16
GL_LUMINANCE_ALPHA
GL_LUMINANCE4_ALPHA4 4 4
GL_LUMINANCE6_ALPHA2 2 6
GL_LUMINANCE8_ALPHA8 8 8
GL_LUMINANCE12_ALPHA4 4 12
GL_LUMINANCE12_ALPHA12 12 12
GL_LUMINANCE16_ALPHA16 16 16
GL_INTENSITY
GL_INTENSITY4 4
GL_INTENSITY8 8
GL_INTENSITY12 12
GL_INTENSITY16 16
GL_RGB
GL_R3_G3_B2 3 3 2
GL_RGB4 4 4 4
GL_RGB5 5 5 5
GL_RGB8 8 8 8
GL_RGB10 10 10 10
GL_RGB12 12 12 12
GL_RGB16 16 16 16
GL_RGBA
GL_RGBA2 2 2 2 2
GL_RGBA4 4 4 4 4
GL_RGB5_A1 5 5 5 1
GL_RGBA8 8 8 8 8
GL_RGB10_A2 10 10 10 2
GL_RGBA12 12 12 12 12
GL_RGBA16 16 16 16 16

x

Coordenada x plano de la ventana de la esquina inferior izquierda de la región rectangular de píxeles que se va a copiar.

y

Coordenada del plano y de la ventana de la esquina inferior izquierda de la región rectangular de píxeles que se va a copiar.

width

Ancho de la imagen de textura. Debe ser 2n + 2 * borde para un número entero n.

height

Alto de la imagen de textura. Debe ser 2n + 2 * borde para un número entero n.

Frontera

Ancho del borde. Debe ser cero o 1.

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
GL_INVALID_ENUM
target no era un valor aceptado.
GL_INVALID_VALUE
level era menor que cero o mayor que log2 max, donde max es el valor devuelto de GL_MAX_TEXTURE_SIZE.
GL_INVALID_VALUE
border no era cero o 1.
GL_INVALID_VALUE
width era menor que cero, mayor que 2 + GL_MAX_TEXTURE_SIZE, o el ancho no se puede representar como 2n + 2 * borde para algunos enteros n.
GL_INVALID_OPERATION
Se llamó a la función entre una llamada a glBegin y la llamada correspondiente a glEnd.

Comentarios

La función glCopyTexImage2D define una imagen de textura bidimensional mediante píxeles del búfer de fotogramas actual, en lugar de desde la memoria principal, como es el caso de glTexImage2D.

Con el nivel de mapa mip especificado con el nivel , las matrices de texturas se definen como un rectángulo de píxeles con la esquina inferior izquierda situada en las coordenadas x e y, ancho igual al ancho + (2 * borde) y un alto igual a alto + (2 * borde). El formato interno de la matriz de texturas se especifica con el parámetro internalFormat .

La función glCopyTexImage2D procesa los píxeles de una fila de la misma manera que glCopyPixels , excepto que antes de la conversión final de los píxeles, todos los valores de componentes de píxeles se sujetan al intervalo [0,1] y se convierten en el formato interno de la textura para el almacenamiento en la matriz de texturas. El orden de píxeles se determina con coordenadas x e y inferiores correspondientes a las coordenadas de textura s y t inferiores. Si alguno de los píxeles de una fila especificada del búfer de fotogramas actual está fuera de la ventana asociada al contexto de representación actual, sus valores no están definidos.

No se pueden incluir llamadas a glCopyTexImage2D en las listas para mostrar.

Nota

La función glCopyTexImage2D solo está disponible en OpenGL versión 1.1 o posterior.

La texturización no tiene ningún efecto en el modo de índice de color. Las funciones glPixelStore y glPixelTransfer afectan exactamente a las imágenes de textura de la manera en que afectan a glDrawPixels.

La siguiente función recupera información relacionada con glCopyTexImage2D:

glIsEnabled con GL_TEXTURE_2D de argumentos

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
Gl.h
Biblioteca
Opengl32.lib
Archivo DLL
Opengl32.dll

Consulte también

glBegin

glCopyTexImage1D

glDrawPixels

glEnd

glFog

glPixelStore

glPixelTransfer

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexParameter