Estadistica

Solo disponible en BuenasTareas
  • Páginas : 12 (2906 palabras )
  • Descarga(s) : 0
  • Publicado : 21 de mayo de 2011
Leer documento completo
Vista previa del texto
INTRODUCCION

Como se estudió en la primera entrega de este curso, OpenGL no es un sistema gráfico a partir del cual el programador trabaje directamente con los pixels de la pantalla, o por lo menos, no normalmente.
OpenGL posee un nivel de abstracción mayor, que va a facilitar mucho el trabajo con gráficos y escenas en tres dimensiones, ya que en lugar de trabajar con las coordenadas de lapantalla (o ventana), lo va a hacer con unas coordenadas que fija arbitrariamente el programador dependiendo de sus necesidades; es decir, nuestro volumen de trabajo va a será tan grande o tan pequeño como queramos, y tendremos la posibilidad de escoger el sistema de coordenadas que más de adapte a las necesidades de nuestro programa.
Por ejemplo: Se puede crear un volumen de trabajo de con unalongitud en el eje de las X de 200, una longitud de 500 en el eje Y, y de 30 en el eje Z.

ILUMINACIÓN EN OpenGL

En las escenas en Opengl tienen varias fuentes de luz que pueden estar apagadas o encendidas independientemente. La luz puede estar iluminando un toda la escena (luz ambiental) o solamente una dirección determinada.
Las fuentes de luz sólo hacen su efecto cuando la escena constade superficies u objetos que absorben o reflejan luz.. Los objetos pueden producir su propia luz, existen dos formas:
Reflexión difusa: luz en todas direcciones.
Reflexión especular: genera un brillo en una dirección.
La iluminación se divide en cuatro tipos: emitida, ambiente, difusa y especular.
Para iluminar una escena debemos seguir los pasos siguientes:
Definimos los vectoresnormales para todos los vértices de los objetos.
Colocamos las fuentes de luz.
Elegimos el tipo de luz a colocar.
Escogemos el tipo de material de cada objeto.
DEFINICIÓN DE VECTORES NORMALES
Lo primero es determinar como vamos a orientar los objetos hacia las fuentes de luz.
Si no utilizamos primitivas básicas al construir el objeto, deberíamos utilizar las funciones:

glNormal: la normalde cada vértice.
glVertex: asigna una función a dicho vértice.
Un ejemplo de construcción de un objeto de esta manera:
glBegin (GL_POLIYGON);
glNormal3vfv(a1);
glVertex3fv(b1);
glNormal3vfv(a2);
glVertex3fv(b2);
glNormal3vfv(a3);
glVertex3fv(b3);
glNormal3vfv(a4);
glVertex3fv(b4);
glEnd();

COLOCAMOS LAS FUENTES DE LUZ

Para definir las fuentes de luz tenemos que definir primerosus propiedades: color, posición, dirección. Usamos glLight:

void glLight (GLenum luz, GLenum nombre, TYPOparam);

Se crea la fuente de luz que indica el parámetro luz, hay 8 fuentes de luz en la definición estandar: LIGHT0,....,LIGHT7.
El argumento nombre especifica las características de la luz, que son unos parámetros ya definidos en Opengl:
GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR,GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION.
GL_DIFFUSE Y GL_ESPECULAR sólo se usan con la primera fuente de luz.
Un ejemplo de glLight sería:
glLightfv (GL_LIGHT0, GL_AMBIENT, luz ambiental);

Primero se activa la luz de la escena porque sino al activar los objetos primero después no se veríael efecto de luz. La función que hace la función es
glEnable.
glEnable(nombre de la fuente de luz a activar).
También existe una función para desactivar la iluminación, que es glDisable.
Color
El color lo indicamos utilizando sus componentes:
Ambiente: aportación a la luz ambiental de la escena.
Difusa: color de la fuente de luz. Especular: color del brillo especular que produce lafuente de luz. Posición Puede haber dos tipos de fuentes de luz según la posición:

Direccionales: (x, y, z, 0).Marcamos el vector dirección y la luz se sitúa en el infinito.
Posicionales: (x,y,z,w).Marcamos la posición en coordenadas homogéneas y la luz se sitúa en la escena. Las transformaciones que se le hacen a los objetos con la matriz del modelo/vista también las sufren las fuentes de luz....
tracking img