COMO SE AGREGAN LOS RELLENOS DE
POLIGONOS EN OPENGL
Dentro del par
glBegin, glEnd solo pueden ir instrucciones OpenGL para definir objetos tales
como vértices, y colores (existen otras más complejas como normales y
materiales) y no transformaciones ni cambios de estado (diferentes a los
especificados), adicionalmente dentro del par pueden ir instrucciones de programación
del lenguaje tales que ciclos, condicionales, llamados a funciones, etc.
GlBegin (GL_POLYGON)’;
glColor3f (1.0, 0.0, 0.0); // rojoFor (int i=0; i<10; i++){
glVertex3f (1.0/i, i*i, 0.0);
}
glColor3f (0.0, 1.0,
0.0); // verde
glVertex3f (1.0, 0.0,
0.0);glColor3f (0.0, 0.0, 1.0); // azul
glVertex3f (1.0, 1.0, 0.0);
glEnd();
glColor3
[f] [v]: para cambiar el color actual de dibujo, puede estar en
bloque glBegin/glEnd
CONCEPTOS
CLASICAS: ILUMINACION LOCAL
ILUMINACION LOCAL.- La iluminación del Local es tan importante como la transparencia del mismo, ya que tenemos que lograr que sea una vitrina de exposición de lo que significa "la marca".
Debe tener en cuenta que la iluminación del local se divide en diferentes sectores.
- Las carteleras, tanto internas como externas, deben tener buena iluminación, sean Back-light (Transiluminadas) o Front-Light (iluminadas de frente).
- Iluminación de Barra de expendio, Caja de cobro y Vitrinas de exposición: Debe ser pareja, no alterando los colores naturales de los materiales, para que el ambiente sea acogedor.
- Mesas o Privados, ahí es donde la iluminación debe crear una atmósfera más íntima, donde la gente se sienta cómoda para compartir un momento agradable, de esparcimiento y degustación.
- La iluminación, ayuda a la escenografía planteada para resaltar aspectos en lo que sé desea destacar, ya sea una característica arquitectónica o un material representativo.
CALCULOS DE ILUMINACION POR VERTICES.- Para poder aplicar
iluminación necesitamos asociar a cada vértice de nuestro objeto un vector
normal asociado. Cuando tenemos la normal calculada tenemos que normalizarla, o
sea, dividir ese vector por su propio modulo para que sea unitario, pero
también podemos hacer que se encargue la OpengGl activando la normalización,
con glEnable GL_NORMALIZE
POSTERIOR
RELLENO DE TRIÁNGULOS.- Se trata de asignar colores
a los pixels correspondientes al interior de cada triángulo proyectado que cae
dentro del área de visualización. Los colores asignados deben calcularse por el
método de Gouraud, interpolando linealmente entre los colores de los tres
vértices. Otras variables como la coordenada de profundidad z o las coordenadas
de textura sufren el mismo proceso de interpolación lineal, fácilmente
reproducible por hardware.
RENDERIZADO EN TIEMPO REAL.- Se presenta un
algoritmo para representar los objetos de materiales transparentes con
superficies ásperas en tiempo real, bajo la iluminación de todos los de
frecuencia distantes. Las superficies rugosas causan dispersión amplia como la
luz entra y sale de los objetos, lo que complica considerablemente la
prestación de dichos materiales. Se presentan dos contribuciones a la
aproximación de los eventos de dispersión sucesivas en las interfaces, debido a
la refracción en bruto
REALISTAS: ILUMINACION GLOBAL
TRAZADO DE RAYOS.- El raytracing o trazado
de rayos es un algoritmo para síntesis de imágenes tridimensionales.
En el algoritmo Ray Casting se determinan las superficies visibles en
la escena que se quiere sintetizar trazando rayos desde el observador
(cámara) hasta la escena a través del plano de la imagen. Se calculan
las intersecciones del rayo con los diferentes objetos de la escena y aquella
intersección que esté más cerca del observador determina cuál es el objeto
visible.
RADIOSIDAD.- La radiosidad es
un conjunto de técnicas para el cálculo de la iluminación global que tratan de
resolver el problema básico de la renderizacion de la forma más realista
posible en el campo de los gráficos 3D por computadora. Dicho
problema es:
El transporte de la luz sólo
se puede modelar de forma óptima considerando que cada fuente luminosa emite un
número enorme de fotones, que rebotan al chocar contra una superficie
describiendo una cantidad de trayectorias imposibles de simular en un
computador.
CALCULOS DE ILUMINACION POR PIXEL.- La iluminación por
píxel en tiempo real es una tecnología revolucionaria ofrecida como primicia
por NVIDIA Shading Rasterizer. La iluminación dinámica a nivel de píxel libera
a los desarrolladores de las restricciones de otros sistemas de iluminación y
pone a su alcance toda una gama de sofisticados efectos. Antes de que el color
final del píxel sea decidido, un cálculo de iluminación debe ser computado para
sombrear a los píxeles basados en alguna luz que puede estar presente en la
escena.
ALTO ACABADO.- Un cálculo para
todo el polígono. Obtenemos una intensidad que aplicamos a un conjunto de
puntos de un objeto (p.ej. todo un triángulo). Aceleramos el proceso de
síntesis. Correcto si se verifica: Fuente de luz en el infinito.
Observador en el infinito.
SOMBREADO CONSTANTE O PLANO
UN CALCULO PARA TODO EL POLIGONO.- Obtenemos una
intensidad que aplicamos a un conjunto de puntos de un objet.
- · Aceleramos el proceso de síntesis
- · Correcto si se verifica
- · Fuente de luz en el infinito
- · Observador en el infinito
- · El polígono representa una superficie plana real del objeto que se modela y no es una aproximación de un objeto curvo.
INTERPOLACION DE INTENCIDADES (GOURAUD)
INTERPOLA INTENSIDADES.- Se basa en la interpolación
de intensidad o color
Considera que facetas planas vecinas proceden deaproximar una superficie curva (salvo que se declare una arista real entre ambas)
*Elimina en gran medida las discontinuidades de iluminación
*Es sencilla, pero produce peores resultados en objetos con brillos especulares que el método de Phong
*Implementado en OpenGL
Considera que facetas planas vecinas proceden deaproximar una superficie curva (salvo que se declare una arista real entre ambas)
*Elimina en gran medida las discontinuidades de iluminación
*Es sencilla, pero produce peores resultados en objetos con brillos especulares que el método de Phong
*Implementado en OpenGL
INTERPOLACION DE NORMALES (PHONG)
Se basa en la
interpolación de la dirección de la normal, calculada de la misma forma que
antes. Igual que en Gouraud, se interpola a lo largo de cada línea de barrido, entre
los puntos inicial y final, interpolados a su vez de los valores de los
vértices de la arista.
Captura mejor los brillos especulares en el medio de facetas planas (Gouraud
los puede omitir). Produce mejores resultados, a un coste computacional mayor (hay que incrementar
la dirección de la normal en tres direcciones, normalizarla y calcular la
ecuación de sombreado encada punto) Si el coeficiente de reflexión especular es pequeño, los resultados no
difieren tanto (se pueden combinar objetos sombreados por ambos métodos en una
escena).
RAYTRACING.-El raytracing o trazado
de rayos es un algoritmo para síntesis de imágenes tridimensionales.
Propuesto inicialmente por Turner Whitted en 1980, está basado en el algoritmo de
determinación de superficies visibles de Arthur Appel denominado Ray
Casting (1968).
En el algoritmo Ray
Casting se determinan las superficies visibles en la escena que
se quiere sintetizar trazando rayos desde el observador (cámara) hasta la
escena a través del plano de la imagen. Se calculan las
intersecciones del rayo con los diferentes objetos de la escena y aquella
intersección que esté más cerca del observador determina cuál es el objeto
visible.
El algoritmo de
trazado de rayos extiende la idea de trazar los rayos para determinar las
superficies visibles con un proceso de sombreado (cálculo de la intensidad del píxel)
que tiene en cuenta efectos globales de iluminación como pueden ser
reflexiones, refracciones o sombras arrojadas.
BUFFER DE PROFUNDIDAD.- Es la parte de la memoria
de un adaptador de video encargada de gestionar las coordenadas de
profundidad de las imágenes en los gráficos en tres dimensiones (3-D),
normalmente calculados por hardware y algunas veces por software.
Es una de las soluciones al problema de visibilidad, que es el problema de
decidir qué elementos de una escena renderizada son visibles y cuales ocultos.
El algoritmo del pintor es otra solución común, aunque menos
eficiente, también puede manejar escenas con elementos no opacos. El
Z-buffering también se conoce como buffering de profundidad.
Cuando un objeto es
dibujado por una Tarjeta gráfica 3D, la profundidad del píxel generado
(coordenada z) se almacena en un buffer de datos (el z-buffer).
Este buffer se suele distribuir como un array de 2 dimensiones (x-y) con un
elemento por cada pixel de la pantalla. Si algún otro objeto de la escena se
tiene que renderizar en el mismo pixel, la tarjeta gráfica compara las dos
profundidades y elige el más cercano al observador. La profundidad elegida es
entonces salvada en el z-buffer, reemplazando a la antigua. Al final, el
z-buffer permitirá a la tarjeta gráfica reproducir correctamente la percepción
de la profundidad normal: los objetos cercanos ocultan a los más lejanos.
STENCIL BUFFER.- Stencill Buffer es una
memoria intermedia que analiza y actualiza píxeles (con sus operaciones) junto
con “depth buffer” o buffer de profundidad. Añade planos de bits adicionales
para cada píxel además de los bits de color y profundidad.
Stencil buffer es similar al buffer de profundidad en que los dos son colección de planos de bit que no se pueden mostrar.
Stencil buffer es similar al buffer de profundidad en que los dos son colección de planos de bit que no se pueden mostrar.
LUZ AMBIENTE.- En algunos cuartos,
las luces se diseñan y ubican para proveer iluminación uniforme en el cuarto.
Tal iluminación se logra mediante fuentes grandes con difusores cuyo propósito
es esparcir la luz en todas las direcciones. Se puede crear una simulación
precisa de tal iluminación, modelando todas las fuentes distribuidas, y luego
integrando la iluminación de estas fuentes en cada punto de una superficie
reflectora. Hacer tal modelo y generar la escena sería una tarea formidable
para un sistema gráfico, especialmente si se desea ejecución en tiempo real. De
manera alternativa, se puede ver el efecto deseado de las fuentes: lograr un
nivel de luz uniforme en el cuarto. Esta iluminación uniforme se llama luz
ambiente. Si se sigue este segundo enfoque, se puede postular una intensidad
ambiente en cada punto del ambiente. Por lo tanto, iluminación ambiente se
caracteriza por una intensidad Ia que es idéntica en cada punto de la
escena.
SPOTLIGTHS.- Los spotlights se caracterizan por un rango
delgado de ángulos por los cuales se emite luz. Se puede construir un spotlight
sencillo de una fuente de punto limitando los ángulos de donde la luz de la
fuente se puede ver.
FUENTES DISTANTES.- La mayoría de los cálculos
de sombreado requieren la dirección de un punto sobre la superficie a la fuente
de luz.
Según se mueve a lo largo de
la superficie, se debe recomputar este vector para calcular la intensidad en
cada punto, una computación que es una parte significativa del cálculo del
sombreado. Sin embargo, si la fuente de luz está lejos de la superficie, el
vector no cambiará mucho según se mueve de un punto a otro, al igual que la luz
del sol da en todos los objetos cercanos
entre si con el mismo ángulo.
INTENCIDAD COMPLETA.- La intensidad completa
exclusivamente Por efectos de iluminación es la siguiente:
No hay comentarios:
Publicar un comentario