colores y sombras
colores y sombras
colores y sombras
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