Compartir a través de


función glGetColorTableEXT

La función glGetColorTableEXT obtiene los datos de la tabla de colores de la paleta de texturas de destino actual.

Sintaxis

void WINAPI glGetColorTableEXT(
         GLenum target,
         GLenum format,
         GLenum type,
   const GLvoid *data
);

Parámetros

Destino

Textura de destino que va a cambiar su paleta. Debe ser TEXTURE_1D o TEXTURE_2D.

format

Formato de los datos de píxeles. Se aceptan las siguientes constantes simbólicas.

Valor Significado
GL_RGBA
Cada píxel es un grupo de cuatro componentes en el orden siguiente: rojo, verde, azul, alfa. El formato RGBA se determina de esta manera:
  1. La función glGetColorTableEXT convierte los valores de punto flotante directamente en un formato interno con precisión no especificada. Los valores enteros con signo se asignan linealmente al formato interno, de forma que el valor entero representable más positivo se asigna a 1,0 y el valor entero más negativo representable se asigna a -1,0. Los datos enteros sin signo se asignan de forma similar: el valor entero más grande se asigna a 1,0 y cero se asigna a 0,0.
  2. La función glGetColorTableEXT multiplica los valores de color resultantes por GL_c_SCALE y los agrega a GL_c_BIAS, donde c es RED, GREEN, BLUE y ALPHA para los componentes de color respectivos. Los resultados se fijan en el intervalo [0,1].
  3. Si GL_MAP_COLOR es TRUE, glGetColorTableEXT escala cada componente de color por el tamaño de la tabla de búsqueda GL_PIXEL_MAP_c_TO_c, reemplaza el componente por el valor al que hace referencia en esa tabla; c es R, G, B o A, respectivamente.
  4. La función glGetColorTableEXT convierte los colores RGBA resultantes en fragmentos mediante la asociación de las coordenadas z y las coordenadas de textura de la posición del ráster actual a cada píxel y, a continuación, asignando coordenadas de ventana x e y al fragmento , de modo que x? = xr + n mod width
    ¿Y? = yr + n/width
    donde (xr , yr ) es la posición ráster actual.
  5. A continuación, estos fragmentos de píxeles se tratan igual que los fragmentos generados por puntos rasterizadores, líneas o polígonos. La función glGetColorTableEXT aplica la asignación de texturas, la niebla y todas las operaciones de fragmento antes de escribir los fragmentos en el framebuffer.
GL_RED
Cada píxel es un único componente rojo.
La función glGetColorTableEXT convierte este componente en el formato interno de la misma manera que el componente rojo de un píxel RGBA y, a continuación, lo convierte en un píxel RGBA con verde y azul establecido en 0,0 y alfa establecido en 1,0. Después de esta conversión, el píxel se trata igual que si se hubiera leído como un píxel RGBA.
GL_GREEN
Cada píxel es un único componente verde.
La función glGetColorTableEXT convierte este componente en el formato interno de la misma manera que el componente verde de un píxel RGBA y, a continuación, lo convierte en un píxel RGBA con rojo y azul establecido en 0,0 y alfa establecido en 1,0. Después de esta conversión, el píxel se trata igual que si se hubiera leído como un píxel RGBA.
GL_BLUE
Cada píxel es un único componente azul.
La función glGetColorTableEXT convierte este componente en el formato interno de la misma manera que el componente azul de un píxel RGBA y, a continuación, lo convierte en un píxel RGBA con rojo y verde establecido en 0,0 y alfa establecido en 1,0. Después de esta conversión, el píxel se trata igual que si se hubiera leído como un píxel RGBA.
GL_ALPHA
Cada píxel es un único componente alfa.
La función glGetColorTableEXT convierte este componente en el formato interno de la misma manera que el componente alfa de un píxel RGBA y, a continuación, lo convierte en un píxel RGBA con rojo, verde y azul establecido en 0,0. Después de esta conversión, el píxel se trata igual que si se hubiera leído como un píxel RGBA.
GL_RGB
Cada píxel es un grupo de tres componentes en este orden: rojo, verde y azul.
La función glGetColorTableEXT convierte cada componente en el formato interno de la misma manera que los componentes rojo, verde y azul de un píxel RGBA. El triple de color se convierte en un píxel RGBA con alfa establecido en 1,0. Después de esta conversión, el píxel se trata igual que si se hubiera leído como un píxel RGBA.
GL_BGR_EXT
Cada píxel es un grupo de tres componentes en este orden: azul, verde y rojo.
GL_BGR_EXT proporciona un formato que coincide con el diseño de memoria de los mapas de bits independientes del dispositivo (DIB) de Microsoft Windows. Por lo tanto, las aplicaciones pueden usar los mismos datos con llamadas a funciones de Windows y llamadas a funciones de píxeles openGL.
GL_BGRA_EXT
Cada píxel es un grupo de cuatro componentes en este orden: azul, verde, rojo, alfa.
GL_BGRA_EXT proporciona un formato que coincide con el diseño de memoria de los mapas de bits independientes del dispositivo Windows (DIB). Por lo tanto, las aplicaciones pueden usar los mismos datos con llamadas a funciones de Windows y llamadas a funciones de píxeles openGL.

type

Tipo de datos para los datos. A continuación se muestran las constantes simbólicas aceptadas y sus significados.

Valor Significado
GL_UNSIGNED_BYTE
Entero de 8 bits sin signo
GL_BYTE
Entero de 8 bits con signo
GL_UNSIGNED_SHORT
Entero de 16 bits sin signo
GL_SHORT
Entero de 16 bits con signo
GL_UNSIGNED_INT
Entero de 32 bits sin signo
GL_INT
Entero de 32 bits
GL_FLOAT
Valor de punto flotante de precisión sencilla

data

Apunta a la ubicación donde se va a almacenar la información de la tabla de colores devuelta. Cada entrada de tabla de colores se almacena como si fuera un solo píxel de una textura 1D. Dado que todas las texturas tienen una paleta predeterminada, glGetColorTableEXT siempre devuelve información de paleta aunque los datos de textura no tengan un formato de paleta.

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, format o type no era un valor aceptado.
GL_INVALID_OPERATION
Se llamó a la función entre una llamada a glBegin y la llamada correspondiente a glEnd.

Comentarios

La función glGetColorTableEXT obtiene los datos reales de la tabla de colores especificados por glColorTableEXT y glColorSubTableEXT.

La función glGetColorTableEXT es una función de extensión que no forma parte de la biblioteca OpenGL estándar, pero que forma parte de la extensión GL_EXT_paletted_texture. Para comprobar si la implementación de OpenGL admite glGetColorTableEXT, llame a glGetString(GL_EXTENSIONS). Si devuelve GL_EXT_paletted_texture, se admite glGetColorTableEXT . Para obtener la dirección de función de una función de extensión, llame a wglGetProcAddress.

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

Consulte también

glColorSubTableEXT

glColorTableEXT

glGetColorTableParameterfvEXT

glGetColorTableParameterivEXT

wglGetProcAddress