Compartir a través de


Función glColorSubTableEXT

La función glColorSubTableEXT especifica una parte de la paleta de texturas de destino que se va a reemplazar.

Sintaxis

void WINAPI glColorSubTableEXT(
         GLenum  target,
         GLsizei start,
         GLsizei count,
         GLenum  format,
         GLenum  type,
   const GLvoid  *data
);

Parámetros

Destino

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

start

Entrada de índice de paleta inicial de la paleta que se va a cambiar.

count

Número de entradas de índice de paleta de la paleta que se van a cambiar a partir del inicio. El parámetro count determina el intervalo de entradas de índice de paleta que se cambian.

format

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

Value 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 glColorSubTableEXT 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 más positivo representable se asigna a 1,0 y el valor representable más negativo 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 glColorSubTableEXT 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, glColorSubTableEXT 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 glColorSubTableEXT convierte los colores RGBA resultantes en fragmentos mediante la asociación de las coordenadas z y coordenadas de textura de la posición del ráster actual a cada píxel y, a continuación, asigna las coordenadas de ventana x e y al fragmento nde este tipode 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 glColorSubTableEXT 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 glColorSubTableEXT 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 glColorSubTableEXT 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 glColorSubTableEXT 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 glColorSubTableEXT 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 glColorSubTableEXT 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 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.
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. Se aceptan las siguientes constantes simbólicas: GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT y GL_FLOAT.

En la tabla siguiente se resume el significado de las constantes válidas para el parámetro de tipo .

Value 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

Puntero a los datos de texturas paletas. Los datos se tratan como píxeles únicos de una entrada de paleta de texturas 1D para una entrada 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_VALUE
start o count era un entero no válido.
GL_INVALID_ENUM
target, format o type no era un valor aceptado.
GL_INVALID_VALUE
Se llamó a la función entre una llamada a glBegin y la llamada correspondiente a glEnd.

Comentarios

La función glColorSubTableEXT especifica partes de la paleta de texturas de destino actual que se van a reemplazar. A diferencia de glColorTableEXT, no se puede especificar el parámetro de destino para que sea una paleta de texturas de proxy.

Nota

La función glColorSubTableEXT 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 glColorSubTableEXT, llame a glGetString(GL_EXTENSIONS). Si devuelve GL_EXT_paletted_texture, se admite glColorSubTableEXT . 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

glBegin

glColorTableEXT

glEnd

glGetColorTableEXT

glGetColorTableParameterfvEXT

glGetColorTableParameterivEXT

glGetString

wglGetProcAddress