06.05.2013 Views

colores y sombras

colores y sombras

colores y sombras

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Colores y <strong>sombras</strong> 28<br />

7.8. Colores en OpenGL<br />

7.8.1. Utilización de <strong>colores</strong> con OpenGL<br />

OpenGL especifica un color utilizando las intensidades separadas de<br />

componentes rojo, verde y azul. Por lo tanto un color se especifica con 3<br />

valores positivos, y puesto que el máximo disponible en el PC para el<br />

almacenamiento de esta información son 24 bits (8 bits para cada componente)<br />

podemos modelar los <strong>colores</strong> disponibles mediante un cubo de 255 unidades<br />

en cada cara. A este volumen lo denominamos el espacio de color RGB.<br />

Este “cubo de color” contiene todos los <strong>colores</strong> que podremos utilizar en<br />

nuestras aplicaciones, tanto en la superficie como en el interior del mismo.<br />

El modelo de color RGBA es el que utilizamos cuando definimos un color<br />

con la función glColor*; utilizamos el modelo de color indexado cuando<br />

seleccionamos un color de dibujo indicando un índice en una matriz de <strong>colores</strong><br />

disponible llamada paleta. Dentro de esta paleta, especificamos el color exacto<br />

que queremos seleccionando las intensidades de las componentes roja, verde<br />

y azul.<br />

Los elementos geométricos se dibujan con los atributos activos en cada<br />

momento. En cualquier momento se pude modificar el valor de<br />

los atributos, sustituyendo el nuevo valor al anterior. Los atributos<br />

podrán apilarse y desapilarse.<br />

La figura siguiente muestra el dibujo simple de dos<br />

triángulos de diferentes <strong>colores</strong>. Estos se definen con la<br />

instrucción glColor3f(red,green,blue) tal como se muestra en el<br />

código C (ver código completo en el anexo, ejemplo 1).<br />

void triangulo1(void)<br />

{<br />

}<br />

glBegin(GL_TRIANGLES);<br />

glColor3f(1.0,0.0,0.0);<br />

glVertex2f(0.0,0.4);<br />

glVertex2f(-0.4,0.0);<br />

glVertex2f(0.4,0.0);<br />

glEnd();<br />

void triangulo2(void)<br />

{<br />

}<br />

glBegin(GL_TRIANGLES);<br />

glColor3f(0.0,0.0,1.0);<br />

glColor3f(0.0,1.0,0.0);<br />

glVertex2f(0.0,-0.4);<br />

glVertex2f(-0.4,0.2);<br />

glVertex2f(0.4,0.2);<br />

glEnd();<br />

Figura 25 - Triángulos

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!