Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características...

60
Tema 7 Colores y Sombras

Transcript of Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características...

Page 1: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Tema 7Colores y Sombras

Page 2: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Índice

• Color– La luz– Percepción del color– Características psicológicas del color– Profundidad de color– Modelos de color– Colores en OpenGL

Page 3: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

La luz

• El color es una banda de frecuencias del espectro electromagnético

• El espectro visible abarca desde los 4.3*1014 Hz (rojo) hasta los 7.5 * 10 14 Hz (violeta)

• El ojo humano distingue aproximadamente unos 400.000 colores diferentes

Page 4: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

La luz

• La luz blanca esta formada por el conjunto de radiaciones visibles– Un objeto sobre el que incide luz blanca

absorberá algunas frecuencias y reflejará otras

– La combinación de éstas últimas determinará el color del objeto

– La frecuencia dominante se denomina color o matiz de la luz

Page 5: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Percepción del color

• El color es la impresión producida al incidir en la retina los rayos luminosos difundidos o reflejados por los cuerpos

• El ojo humano actúa como sensor y el cerebro interpretar las imágenes– Los conos están especializados en la visión del color– Especializados en:

• azul y violeta• verde y amarillo• rojo y naranja

• Los bastones requieren muy poca luz y no son capaces de discernir los colores.

Page 6: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Características psicológicas del color

• Cromaticidad:– Matiz – Luminosidad – Tono – Saturación

• Además de la frecuencia, otras propiedades para caracterizar nuestra percepción de la luz

Page 7: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Profundidad de color• Color de 1-bit

– Permite 2 colores, utiliza 1 bit dedicado a la información de color por cada píxel (2 1).• Color de 4-bits

– 16 colores por píxel, utiliza 4 bits dedicados a la información de color (2 4)• Color de 8-bits

– 256 colores ya que se utilizan 8 bits dedicados a la información de color por cada píxel (2 8) – Se pueden utilizar los 8 bits para imágenes de un tono continuo en blanco y negro con 256 matices de color

• Color de 24-bits – Permite 16.777.216 colores, se utilizan 24 bits dedicados a la información de color por cada píxel (2 24)– 8 bits para cada color: rojo, verde y azul– El inconveniente es la utilización de memoria que se necesita para pantallas de alta resolución (2MB para

1024x768)

Page 8: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Modelos de color

• El propósito de un modelo de color es facilitar la especificación de colores en algún formato estándar

• Especificación de un modelo de coordenadas 3D y un subespacio dentro donde cada color se representa por un punto único

• La mayoría de los modelos de color que se utilizan están orientados hacia el hardware como monitores o impresoras

Page 9: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Modelos de color

• Espacio de color CIE – El CIE ("d'Eclairage de Internationale de la Comisión") definió tres

fuentes de luz hipotéticas, x, y, y z, resultando curvas positivas– El diagrama de cromaticidad CIE es un modelo de dos dimensiones de

visión del color – El diagrama de cromaticidad CIE refleja el tono y la saturación, pero es

necesario un modelo tridimensional para añadir el componente del brillo

Page 10: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Modelos de color

• El modelo de color RGB– Modelo aditivo de color que es

representado por el cubo del color del RGB

– R, G, y B representan los colores producidos por los fósforos rojos, verdes y azules

– El cubo se proyecta dentro del espacio de color del CIE XYZ

– Los valores de R,G,B se asignan en el intervalo de 0 a 1

Page 11: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Colores en OpenGL

• OpenGL especifica un color utilizando las intensidades separadas de componentes rojo, verde y azul (espacio de color RGB)

• Definimos un color con la función glColor*• Los elementos geométricos se dibujan con los

atributos activos en cada momento• En cualquier momento se pude modificar el

valor de los atributos, sustituyendo el nuevo valor al anterior

• Los atributos podrán apilarse y desapilarse

Page 12: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Colores en OpenGL

void triangulo2(void){glBegin(GL_TRIANGLES);glColor3f(0.0,0.0,1.0); glColor3f(0.0,1.0,0.0);glVertex2f(0.0,-0.4);glVertex2f(-0.4,0.2);glVertex2f(0.4,0.2);

glEnd();

}

Page 13: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Colores en OpenGL

• Al dibujar polígonos se puede controlar que se dibujen sus aristas o solo el interior

• control de visibilidad de las aristas se realiza con la función glEdgeflag(b)

• También se pueden conseguir gradientes• Con un triángulo, por ejemplo, bastará con

asignar un color distinto a cada vértice • OpenGL renderiza la imagen con el

gradiente de color resultante entre ellos

Page 14: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Colores en OpenGL

glBegin GL_TRIANGLESglColor3f( 1.0,0.0,0.0 ) //color rojo

glVertex3f( 0.0,1.0,0.0 )

glColor3f( 0.0,1.0,0.0 ) //color verde

glVertex3f( -1.0,-1.0,0.0 )

glColor3f( 0.0,0.0,1.0 ) //color azul

glVertex3f( 1.0,-1.0,0.0 )

glEnd

Page 15: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Colores en OpenGL

• Canal alpha– El modelo RGBA de color dota a cada punto

de una cuarta componente llamada canal alfa– Imagen de 8 bits en escala de grises– OpenGL lo interpreta de la manera siguiente

• Un valor alpha de 0 (color negro) indica transparencia total

• Un valor de 128 (color gris "puro") indica semitransparencia

• Un valor de 255 (color blanco) indica opacidad total

Page 16: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Colores en OpenGL

• Mezclando dos colores generamos un tercero, si tengo un objeto de color rojo y le pongo delante un papel translúcido de color azul, la intersección de ambos se verá de color lila

Page 17: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Colores en OpenGL

• Activar el mezclado de colores y desactivarlo con las funciones – glEnable(GL_BLEND)– glDisable(GL_BLEND)

• Para indicar como debe hacerse la mezcla se usará la función – glBlendFunc(Glenum factorfuente, Glenum factordestino)

• glBlendFunc(GL_ONE,GL_ZERO)– importancia de 1 (máxima) al canal alfa de la fuente y de 0 (nula) al

canal alfa del destino

• glBlendFunc(GL_SRC_ALPHA, GL_ONE) – multiplique a la fuente por su valor de alfa y sume el resultado al color

destino

Page 18: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Colores en OpenGL

• Ocultaciones– OpenGL permite utilizar dos métodos de

ocultación• El algoritmo de las caras de detrás

– Consiste en ocultar las caras que no se dibujarían porque formarían parte de la parte trasera del objeto

» glEnable(GL_CULL_FACE)

• Algoritmo del Z-buffer– Cada vez que se va a renderizar un pixel, comprueba

que no se haya dibujado antes en esa posición un píxel que esté más cerca respecto a la cámara

» glEnable(GL_DEPTH_TEST)

Page 19: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

• Sin ocultaciones• Ocultando caras detrás

Colores en OpenGL

Page 20: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

• Sin Z-Buffer• Con Z-Buffer

Colores en OpenGL

Page 21: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Colores en OpenGL

• Eliminando caras detrás• Caras detrás + Z-Buffer

Page 22: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Colores en OpenGL

• La combinación de estos dos algoritmos no siempre es adecuada

• Caras detrás + Z-Buffer• Z-Buffer

Page 23: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Colores en OpenGL

• El color de los materiales– La forma en que la luz incide sobre las

superficies de los objetos depende de las propiedades del material de los mismos

– OpenGL la forma de definir estas propiedades es la función:

• void glMaterial{if}[v](GLenum face, GLenum pname, TYPEparam);

– El primer argumento determina la cara del objeto donde se aplica el material

– propiedad del material que va a fijarse

Page 24: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Colores en OpenGL

Page 25: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Indice

• Sombras– Efecto falloff (Distance falloff)– Sombreado– Tipos de sombreado– Sombreado en OpenGL– Stencil Buffer– Volúmenes de sombras– Fusión (Dithering)– Paletas de Ventana

Page 26: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Sombras

• Definición:Una sombra es una región de oscuridad donde la luz es obstaculizada. Una sombra ocupa todo el espacio de detrás de un objeto opaco con una fuente de luz frente a él. La sección eficaz de una sombra es una silueta bidimensional o una proyección invertida del objeto que bloquea la luz.

Page 27: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Sombras

• Propiedades:– Cuanto menor el ángulo entre dirección de la

luz y objeto, más corta la sombra.– Cuanto menor el ángulo entre dirección de la

luz y superficie donde aparece la sombra, mayor será esta.

– Fuente luz no puntual-> umbra y penumbra– Múltiples focos->múltiples sombras– Múltiples focos colores-> Color de cada

sombra será del color de la luz del otro foco

Page 28: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Sombras

• Sombras por ordenador:– Simula como se comportan las caras del

polígono cuando es iluminado por una fuente de luz virtual

– Altera el color de las caras de un modelo 3D basándose en el ángulo de la superficie con la fuente de luz.

Page 29: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Sombras

• Ejemplo:

sombreado en las carassin líneas en los bordes Imagen renderizada

Page 30: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Sombras-Efecto Falloff

• Se puede observar que las superficies de las caras son brillantes en la caja delantera y más oscuras en la situada en la parte de atrás. También la superficie sobre la que están pasa de claro a oscuro según se aleja.

• produce imágenes más realistas

efecto falloff

sin efecto falloff

Page 31: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Tipos de sombreado

• Sombreado plano (Flat shading)– Definición: sombrea cada polígono de un

objeto basándose en el ángulo que existe entre la superficie normal del polígono y la dirección de la fuente de luz, sus respectivos colores y la intensidad de la luz

– Renderizado de alta velocidad– Desventaja: aspecto poco natural en modelos

bajos en polígonos

Page 32: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Tipos de sombreado

• Comparación Flat Shading-Phong

Page 33: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Tipos de sombreado

• Sombreado Gouraud – Simula el efecto de difusión de la luz y los

colores a través de la superficie del objeto – Aplica el patrón de iluminación a cada vértice

del polígono y entonces promedia los valores de color en toda la superficie del objeto para así alcanzar un efecto de sombreado suave

– El resultado final de todo esto es un polígono con un suave gradiente de intensidades sobre su superficie

Page 34: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Tipos de sombreado

• Sombreado Gouraud: Bandas de Mach– objetos sombreados

con Gouraud muestran las zonas de unión de polígonos

Page 35: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Tipos de sombreado

• Sombreado de Phong– usado en los gráficos 3D para la interpolación de

superficies en polígonos rasterizados, para obtener mejor resolución especular.

– proporciona una mejor aproximación a la aplicación punto-por-punto de un modelo de reflexión superficial, asumiendo una suavidad variante de la superficie como vector normal.

– en lugar de interpolar intensidades de los vértices, según se hace en el sombreado Gouraud, se interpole normales a lo largo del polígono

Page 36: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Tipos de sombreado

• Sombreado Blinn–Phong – intercambia la precisión visual por eficiencia

computacional

Page 37: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Reflexión

• Modelo de Lambert– Superficies en las que la luz que incide sobre

ellas se reparte de forma que sólo depende del ángulo de incidencia y es independiente del ángulo de observación.

– Sólo se puede emplear con ciertos materiales.– Sirve como una buena aproximación cuando las

características de la superficie no se conocen.

Page 38: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Reflexión

• Modelo de Oren-Nayar– Similar al de Lambert.– Es más preciso aunque también más

complicado. Los cálculos se realizan teniendo en cuenta un factor de rugosidad de la superficie.

Page 39: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Sombreado en OpenGL

• glShadeModel(GLenum modo ) selecciona el modelo de sombreado: suave o plano. El modo puede ser:– Plano GL_FLAT – Suave GL_SMOOTH

Page 40: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Sombreado OpenGL GL_Flat

glShadeModel(GL_FLAT);glBegin(GL_TRIANGLES);         glColor3f(1.0f, 0.0f, 0.0f);  // color rojo glVertex3f(-1.0f, 0.0f, 0.0f); glColor3f(0.0f, 1.0f, 0.0f);  // color verde      glVertex3f(1.0f, 0.0f, 0.0f); glColor3f(1.0f, 0.0f, 0.0f);  // color azul      glVertex3f(0.0f, 1.0f, 0.0f);glEnd();

Page 41: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Sombreado OpenGL GL_SMOOTH

glShadeModel(GL_SMOOTH);glBegin(GL_TRIANGLES);         glColor3f(1.0f, 0.0f, 0.0f);  //activamos el color rojo

glVertex3f(-1.0f, 0.0f, 0.0f); glColor3f(0.0f, 1.0f, 0.0f);  // verde

      glVertex3f(1.0f, 0.0f, 0.0f); glColor3f(1.0f, 0.0f, 0.0f);  // azul

      glVertex3f(0.0f, 0.0f, 1.0f);glEnd();

Page 42: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Sombreado-Stencil Buffer

• Sirve para mejorar la calidad de las sombras y los reflejos.

• Añade planos de bits adicionales para cada píxel además de los bits de color y profundidad.

• Es una manera de marcar píxeles en una renderización para controlar su actualización en renderizaciones siguientes.

• Funciones en OpenGL:– glEnable(GL_STENCIL_TEST)– glDisable(GL_STENCIL_TEST).– glClearStencil

Page 43: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Volúmenes de sombras

• Construcción:– se proyecta un rayo de luz a través de cada

vértice en la proyección de la sombra del objeto hacia el infinito.

– El conjunto de estas proyecciones generan un volumen que engloba todos los puntos que pudieran posiblemente verse ensombrecidos por un objeto.

– Cualquier objeto dentro de este volumen debería ser ensombrecido

Page 44: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Volúmenes de sombras

Page 45: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Volúmenes de sombras- Técnicas

• Existen 3 técnicas aplicables en tiempo real.• Características comunes:

– dibujar la escena como si estuviera completamente en sombra.

– para cada punto de luz:• usar la información de profundidad de la escena para

construir una mascara en el stencil buffer • la escena de nuevo como si estuviera completamente

iluminada, usando el stencil buffer para la máscara de las áreas sombreadas.

Page 46: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Volúmenes de sombras- Técnicas

• Paso de profundidad (Depth pass)– Si la superficie de un objeto esta en sombra, habrá

más superficies sombreadas frontalmente entre ella y el ojo que con las superficies traseras sombreadas.

• Error de Profundidad (Depth fail)– En vez de contar las caras frontales sombreadas de

la superficie del objeto, las superficies traseras se pueden contar así fácilmente con el mismo resultado

• OR exclusivo – Aproxima las dos anteriores, no trata propiamente

con la intersección de los volúmenes de sombras

Page 47: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Fusión (Dithering)

• Definición:– técnica usada para crear la ilusión de profundidad de

color en imágenes con una paleta de colores limitada.– los colores no disponibles en la paleta original son

aproximados por una difusión de los píxel coloreados dentro de la paleta disponible.

– El ojo humano percibe la difusión como una mezcla de colores.

Page 48: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Fusión

• Incremento de fusión:

glDisable(GL_DITHER)

glEnable( GL_DITHER )

Page 49: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Paletas

• En Windows existen dos tipos de paletas:– Paletas lógicas– Paletas del sistema

• Existe una paleta especial que es la paleta por defecto que es la que utiliza el usuario a no ser que crea una.

• No se puede acceder a la paleta del sistema directamente. Los accesos se hacen mediante la paleta lógica.

• Como programadores, podemos usar los colores de la paleta por defecto o bien crear nuestra propia paleta lógica y asociarla al contexto de dispositivo.

Page 50: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Creación de Paletas de Ventana

• Crear una paleta en OpenGL:HPALETTE CreatePalette( CONST LOGPALETTE *lplgpl //

puntero a la paleta lógica de color ); • Esta paleta utiliza una estructura lógica de

paleta (LOGPALETE) que contiene 256 entradas, especificando los 8 bits para las componentes R,G,B.

Page 51: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Arbitraje de paletas

• Windows es un S.O. multitarea Ejecución simultánea de varias aplicaciones.

• Pero el hardware solo permite 256 colores en la paleta del sistema que deben ser compartidos por todas las aplicaciones en ejecución.

• Si alguna de las aplicaciones modifica la paleta del sistema puede que se altere la presentación de imágenes de otras aplicaciones produciendo efectos no deseados.

• Windows proporciona un conjunto de mensajes para arbitrar el uso de paletas.

Page 52: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Arbitraje de paletas

• Mensajes:– WM_QUERYNEWPALETTE Preguntar a la

ventana principal si desea copiar las entradas de su paleta privada en las entradas del sistema.

– WM_PALETTECHANGED Indica a la ventana que puede seleccionar la paleta, incluso si no es la ventana activa.

Page 53: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Creación de paletas

• DescribePixelFormat() para determinar si una aplicación requiere una paleta.

• Retorna una estructura PÍXELFORMATDESCRIPTOR

• Si el valor del bit PFD_NEED_PALETTE está activo crear una paleta para la aplicación

Page 54: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Estructura de una paleta

• Reservar memoria:typedef struct tagLOGPALETTE { // lgpl WORD palVersion; WORD palNumEntries; PALETTEENTRY palPalEntry[1]; } LOGPALETTE;

• Llamar a la función CreatePalette() • Cada entrada en la paleta es una

estructura PALETTEENTRY

Page 55: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Estructura de una paleta

• typedef struct tagPALETTEENTRY { // pe BYTE peRed; BYTE peGreen; BYTE peBlue; BYTE peFlags; } PALETTEENTRY; -         peRed, peGreen y peBlue representan las

intensidades relativas para las componentes de 8 bits RGB. Así cada una de las 256 entradas de la paleta contendrá una definición de color de 24 bits.

-         PeFlags se utiliza para especificar opciones avanzadas de la paleta. Normalmente su valor será NULL.

Page 56: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Destrucción de una paletacase WM_DESTROY:

// Desactiva el contexto de generación actual y lo borra

wglMakeCurrent(hDC,NULL);

wglDeleteContext(hRC);

  ReleaseDC(hWnd,hDC);

  // Borra la paleta si fue creada

if(hPalette != NULL)

DeleteObject(hPalette);

  // Le dice a la aplicacion que termine despues de que se cierre la ventana

PostQuitMessage(0);

break;

Page 57: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Librería GL

• Principales funciones para el manejo de colores y sombras en OpenGL– glAccum - establece los valores de un píxel

en el buffer.– glClearColor – borra los buffers de color.– glClearDepth – asigna un valor de

profundidad al buffer de profundidad.– glColor – selecciona el color actual en modo

RGBA.

Page 58: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Librería GL

• glColorMask – activa o desactiva la modificación de las componentes de color en los buffers de color.

• glColorMaterial – permite seleccionar las propiedades de un material siguiendo el color definido por glColor.

• glDisable – desactiva una característica de OpenGl

Page 59: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Librería GL

• glEnable – activa una característica de OpenGl.

• glDrawBuffer – selecciona un buffer de color para dibujar.

• glFog – especifica los parámetros de niebla.

• glIndex – selecciona el índice de color actual.

Page 60: Tema 7 Colores y Sombras. Índice Color –La luz –Percepción del color –Características psicológicas del color –Profundidad de color –Modelos de color –Colores.

Librería Gl

• glLogicOp – selecciona la operación lógica para el modo de color indexado.

• glPolygonMode – selecciona el modo en que se generan los polígonos.

• glShadeModel – asigna el sombreado por defecto (suave o plano)