Sei sulla pagina 1di 10

REALISMO EN OPEN GL

1. DEFINICION
La tendencia a presentar las cosas tal cual son en realidad, sin adornos,
exageraciones o matices. La palabra, como tal, se compone con el vocablo real y el
sufijo -ismo, que indica ‘escuela’, ‘movimiento’ o ‘tendencia’.

2. CARACTERISTICAS
Representar la realidad desde una postura objetiva. Entre las características
generales del realismo destacan:

 La búsqueda por la reproducción de la forma más exacta posible la realidad y los


problemas que enfrentan las personas.
 Centrado en el hombre, de ahí que las descripciones de los personajes son
específicas y reales en cuanto a rasgos físicos y psicológicos.
 Las descripciones detalladas buscan alcanzar una representación más verosímil
de la realidad.
 Su estilo es elaborado, preciso y no se da cabida a la subjetividad.

El objetivo del realismo es que a partir de un modelo digital de un entorno real, se


logre producir en el observador una experiencia visual similar a la que tendría
estando situado en dicho entorno real.

El realismo busca:
- En los videojuegos, se busca el máximo de realismo dentro de los límites
impuestos por el tiempo de ´ calculo por cuadro (1/25 de segundo)
- En visualización científica o técnica, se busca mostrar con la mayor claridad
posible determinadas características del modelo digital, que no se verían en una
imagen realista.
- En algunos videojuegos, películas de animación, o productos artísticos, el
realismo está supeditado a la expresividad, a la intencionalidad artística, o a la
imitación de técnicas clásicas de animación (rendering no fotorrealista, cartoon
rendering)

El proceso de rendering: el objetivo final es el diseño de algoritmos para calcular


imágenes digitales a partir de modelos de objetos almacenados en memoria.
Ilustración 1 PROCESO DE RENDERING

3. ELEMENTOS
a. COLOR

El color en los ordenadores se genera especificando intensidades separadas de las


componentes roja, verde y azul. Por esta razón los monitores se fabrican para
producir estos tres tipos de luz. El color ayuda a comprender las imágenes. Para
especificar un color utilizamos tres valores positivos (que serían las tres

componentes). Por lo que, sí un ordenador utiliza 24 bits para el almacenamiento de


este tipo de información, entonces tendríamos ocho bits para cada componente y
por tanto cada componente de color se podría especificar con valores entre 0 y 255.
De ésta forma se podría modelar los colores disponibles como un volumen llamado
espacio de color.
OpenGL incorpora dos modelos de color: modo RGBA y modo índice de color.

En el primer caso el color se define a partir de tres valores de color (correspondientes al


rojo, al verde y al azul) y, opcionalmente, un valor de alfa, que indica la translucidez del
color.

En el modo de índices de color, los colores se encuentran ordenados y se accede a ellos a


través de un único valor que se corresponde con un índice asociado al color. El modo RGBA
es el más versátil y el más utilizado. El modo de índices de color se utiliza en casos muy
específicos. En este texto nos centraremos en el uso del modo RGBA

Selección de un Color

La función de selección de un color es: gl Color


Ilustración 2 versiones mas utilizadas de la funcion gl Color

Cuando se utiliza este comando, todos los objetos dibujados a partir de ese
momento determinan el mismo color hasta que se especifique otro color

Ilustración 3 Primitiva LINES en color rojo, verde y azul

EL CUBO DEL COLOR

Los colores en modo RGB (de momento obviaremos la cuarta componente alfa) se
pueden representar utilizando un cubo de lado 1, donde cada eje representa uno de los
tres colores. Los demás vértices representan el color amarillo, magenta, ciano, blanco y
negro. Cada punto en el interior del cubo representa un color, y sus coordenadas indican
la cantidad de rojo, verde y azul que lo componen. Sobre la línea que une dos colores
(dos puntos) se encuentra toda la graduación existente entre los dos. Así entre el blanco
y el negro, se representa toda la gama de grises
Ilustración 4 cubo de color

b. Sombreado

Otro aspecto importante a la hora de dibujar es lo que se denomina sombreado, que


sería la transición suave entre un color y el siguiente, es decir, si al dibujar una línea
especificamos en un vértice un color y en el otro vértice otro color, el color de la
línea que se dibujará irá variando. El sombreado puede ser de dos tipos:

- Sombreado plano (flat shading)

En el primer caso (plano), todos los pixels en los que se proyecta un


triángulo se colorean del color obtenido al evaluar el modelo de
iluminación (MI) en uno de sus vértices.

No se produce ninguna transición, normalmente con este degradado el


color es el del último vértice especificado.

- Sombreado de Gouroud (Gouroud shading).

En el segundo caso (Gouroud), se evalua el MI en todos los vértices de


cada polígono y se obtiene un color RGB para cada uno de ellos. Para dar
color a los pixels donde se proyecta el triángulo, se hace interpolación
lineal en cada componente independientemente, obteniendose un color
RGB para cada pixel. Existe un tercer tipo de sombreado (Phong shading)
que no esta disponible directamente en OpenGL básico.

En OpenGL, el modo de sombreado a usar se selecciona con la


función glShadeModel (modo)
c. ILUMINACION
Los objetos en el mundo real no aparecen como un color sólido y OpenGL permite hacer una
aproximación de los objetos dibujados al mundo real utilizando las funciones de iluminación.
Anteriormente, se ha visto como darles color a los objetos, pero el color de un objeto puede
variar dependiendo de la luz que incida sobre él, por lo que hay que tener en cuenta este
aspecto a la hora de seleccionar el color.

La iluminación es el elemento que más contribuye a la apariencia real de los gráficos por
ordenador. La luz aumenta el efecto de tridimensionalidad de los objetos y la forma en que
el objeto refleja esa luz nos da una idea del material del que está hecho.

OpenGL modeliza los siguientes tipos de iluminación:

i. ILUMINACION DIFUSA

La iluminación difusa es la reflexión de la luz desde una superficie, de tal


forma que un rayo incidente es reflejado en muchos ángulos, en lugar de
únicamente un solo ángulo, como en el caso de la reflexión especular.

Luz reflejada por la superficie en todas las direcciones.

Es la que proviene de una dirección particular, pero es reflejada en todas


direcciones. Esta luz sólo afecta a aquellas partes del objeto en las que la luz
incide. De hecho, estas partes se mostrarán más brillantes que las demás.

Ilustración 5 Reflexion difusa

ii. ILUMINACION ESPECULAR

Cuando el rayo de incidencia es igual al de reflexión (Ley de reflexión), se


conoce como reflexión especular. Este es el caso de los espejos y de la
mayoría de las superficies duras y pulidas. Al tratarse de una superficie lisa,
los rayos reflejados son paralelos, es decir tienen la misma dirección.
luz reflejada por la superficie en una sola dirección o en un rango de ángulos
muy cercano al ángulo de reflexión perfecta.

Es la que procede de una dirección concreta y se refleja en una única


dirección, de manera que produce brillos intensos en ciertas zonas. Es el
caso, por ejemplo, de los objetos metálicos

Ilustración 6 Iluminacion especular

iii. ILUMINACION AMBIENTE- LUZ AMBIETE

La luz ambiente la que se observa en cualquier punto de una superficie es


siempre la misma. Parte de la luz que llega a un objeto es absorbida por este,
y parte es reflejada,

Luz que proporciona iluminación uniforme a lo largo de la escena.

Es aquella que no proviene de una dirección concreta, sino que incide sobre
todas las partes del objeto de igual manera. Aunque realmente toda la luz
proceda de algún foco, debido a la reflexión sobre los demás objetos que se
encuentren en la escena, siempre hay alguna componente de esa luz que
incide sobre todas las partes del objeto aunque no estén expuestas a ella
directamente.

Ilustración 7 Iluminacion ambiente


Ilustración 8 Imagen Iluminacion ambiente- Iluminacion difusa , Iluminacion especular

Cada foco de luz que incluyamos en la escena tiene tres componentes: luz
ambiental, luz difusa y luz especular. La proporción de cada componente
determina el tipo de luz. Por ejemplo, un láser esta casi totalmente formado
por luz especular. Las componentes difusa y ambiental son mínimas y se
deben a la presencia de polvo en el ambiente. Una bombilla, sin embargo,
tiene una parte importante de luz ambiental y difusa, y una parte mínima de
luz especular.

Ilustración 9 Tipos de iluminacion


Al igual que un color está compuesto por tres componentes, una fuente de luz está
compuesta por tres componentes de luz también: ambiente, difusa y especular. Y así
será la forma de especificar la luz. Por lo tanto, para añadir luz a la escena lo primero
que hay que hacer es activar la iluminación . Para activar/desactivar el uso de las luces
utilizamos dos funciones que ya hemos visto anteriormente: glEnable y glDisable.

Como dijimos, estas funciones se utilizan para activar y desactivar otras muchas
opciones:

void glEnable (GLenum valor) ·

void glDisable (GLenum valor)

valor: es el elemento que se activa o desactiva. Para activar/desactivar la iluminación


utilizamos el valor GL_LIGHTING.

Posteriormente, hay que configurar y seleccionar el modelo de iluminación.

Una vez activada la iluminación, debemos utilizar la función glLightModel para


seleccionar tres aspectos de la iluminación.

elemento: indica el elemento o aspecto que estamos definiendo. Puede valer


GL_LIGHT_MODEL_AMBIENT, GL_LIGHT_MODEL_TWO_SIDE o
GL_LIGHT_MODEL_LOCAL_VIEWER.

parámetros: parámetros necesarios según el aspecto que definamos.

El Formato de param debe ser el siguiente:

 color[3] debe vale 1.0


 (color [0], color [1], color [2] da el vector RGB del color.

d. TEXTURAS

Poner texturas en los gráficos es uno de los avances más importantes en los gráficos
3D. El mapeado de texturas es como poner papel pintado en una pared. Es decir,
permite cubrir los polígonos que forman el dibujo con imágenes. El mapeado de
texturas se utiliza para conseguir imágenes más reales. Se pueden mapear texturas
en una, dos y tres dimensiones.

Una textura es una imagen que se asigna a alguna primitiva, de manera que esta
primitiva aparece rellena con la imagen de la textura en lugar de con un color sólido
. . Las texturas sólo funcionan en el modelo de color RGB.
Las texturas permiten añadir realismo a las imágenes, sin necesidad de ampliar el número
de polígonos de la escena. Además, la textura que apliquemos sobre un polígono sufre las
mismas transformaciones que éste, incluyendo los efectos de la perspectiva, la iluminación,
etc.

Los pasos para utilizar el mapeado de texturas son,

Ilustración 10 Función de textura en OpenGL

Bibliografía
- http://cphoto.uji.es/vj1221/ewExternalFiles/Tema_04_Modelos_de_Iluminaci
on_y_Sombreado.pdf
- http://sce83.tripod.com/tema2.pdf
- https://www.academia.edu/11066396/5o_Ingenier%C3%ADa_Inform%C3%A1
tica?auto=download
- https://www.cs.buap.mx/~hilario_sm/slide/graphics-2018/opengl-Part-II-
ilum.pdf

Potrebbero piacerti anche