Función glCopyTexSubImage2D
La función glCopyTexSubImage2D copia una subimagen de una imagen de textura bidimensional desde el framebuffer.
Sintaxis
void WINAPI glCopyTexSubImage2D(
GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint x,
GLint y,
GLsizei width,
GLsizei height
);
Parámetros
-
Destino
-
Destino al que se cambiarán los datos de 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 nªimagen de reducción de mapa mip.
-
xoffset
-
Desplazamiento de textura en la dirección x dentro de la matriz de texturas.
-
yoffset
-
Desplazamiento de textura en la dirección y dentro de la matriz de texturas.
-
x
-
Coordenadas del plano x de la ventana de la esquina inferior izquierda de la fila de píxeles que se van a copiar.
-
y
-
Coordenadas del plano y de la ventana de la esquina inferior izquierda de la fila de píxeles que se van a copiar.
-
width
-
Ancho de la subimagen de la imagen de textura. Especificar una subimagen de textura con un ancho cero no tiene ningún efecto.
-
height
-
Alto de la subimagen de la imagen de textura. Especificar una subimagen de textura con un ancho cero no tiene ningún efecto.
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 no era un valor aceptado. |
|
level era menor que cero o mayor que el registro2 (max), donde max es el valor devuelto de GL_MAX_TEXTURE_SIZE. |
|
xoffset era menor que el borde o (anchoxoffset + ) era mayor que (bordew + ), yoffset era menor que el borde o (altoyoffset + ) era mayor que (bordeh + ), donde w es GL_TEXTURE_WIDTH y el borde es GL_TEXTURE_BORDER. Tenga en cuenta que w incluye dos veces el ancho del borde . |
|
width era menor que border o y era menor que border, donde border es el ancho de borde de la matriz de texturas. |
|
La matriz de texturas no se definió mediante una operación glTexImage1D anterior. |
|
Se llamó a la función entre una llamada a glBegin y la llamada correspondiente a glEnd. |
Comentarios
La función glCopyTexSubImage2D reemplaza una parte rectangular de una imagen de textura bidimensional por píxeles del framebuffer actual, en lugar de desde la memoria principal, como es el caso de glTexSubImage2D.
Un rectángulo de píxeles que comienza con las coordenadas de ventana x e y , con el ancho y alto de las dimensiones, reemplaza la parte de la matriz de texturas por los índices xoffset a través de xoffset + (ancho - 1), con los índices yoffset a través de yoffset + (ancho - 1) en el nivel de mapa mip especificado por nivel. El rectángulo de destino de la matriz de texturas no puede incluir ningún elemento de textura fuera de la matriz de textura especificada originalmente.
La función glCopyTexSubImage2D 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 componente 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 inferiores correspondientes a las coordenadas de textura inferior. 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.
Si alguno de los píxeles del rectángulo especificado del búfer de fotogramas actual está fuera de la ventana de lectura asociada al contexto de representación actual, los valores obtenidos para esos píxeles no están definidos. No se realiza ningún cambio en el parámetro internalFormat, width, height o border de la matriz de textura especificada o en valores de textura fuera de la subimagen de textura especificada.
No se pueden incluir llamadas a glCopyTexSubImage2D en las listas para mostrar.
Nota
La función glCopyTexSubImage2D 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 la forma en que se dibujan píxeles mediante glDrawPixels.
Las siguientes funciones recuperan información relacionada con glCopyTexSubImage2D:
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 |
|
Biblioteca |
|
Archivo DLL |
|