Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Iluminacion OpenGl

Estas en el tema de Iluminacion OpenGl en el foro de C/C++ en Foros del Web. Hola, necesito orientacion acerca del funcionamiento de las luces en Opengl. He conseguido definir sus propiedades, en esto caso cree una luz direccional pero no ...
  #1 (permalink)  
Antiguo 05/05/2014, 15:21
 
Fecha de Ingreso: agosto-2011
Mensajes: 2
Antigüedad: 12 años, 10 meses
Puntos: 0
Iluminacion OpenGl

Hola, necesito orientacion acerca del funcionamiento de las luces en Opengl.
He conseguido definir sus propiedades, en esto caso cree una luz direccional pero no consigo que apunte hacia donde yo quiero. Esta siempre se queda fija mirando hacia -z.
Con esta funcion puedo mover el foco a donde quiera:
glLightfv(GL_LIGHT0, GL_POSITION, LuzPos);
Pero esta funcion que en principio es para dirigir el foco, ignora lo que le ponga. Hay alguna razon por la que pase esto.
glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, SpotDir);

Las luces las inicializo asi:

GLfloat LuzPos[] = { 0, 0, 0, 1 };
GLfloat SpotDir[] = { 0, 10, 0 };
GLfloat Ambient[] = { 0.2f, 0.2f, 0.2f, 1.0f };
GLfloat Diffuse[] = { 1, 0, 0, 0.0f };
GLfloat SpecRef[] = { 1.0f, 1.0f, 1.0f, 1.0f };
GLfloat Specular[] = { 1.0f, 1, 1, 1.0f };

glLightfv(GL_LIGHT0, GL_DIFFUSE, Diffuse);
glLightfv(GL_LIGHT0, GL_SPECULAR, Specular);
glLightfv(GL_LIGHT0, GL_AMBIENT, Ambient);
glLightf(GL_LIGHT0, GL_SPOT_CUTOFF, 100.0f);
glLightf(GL_LIGHT0, GL_SPOT_EXPONENT, 100.0f);
glLightfv(GL_LIGHT0, GL_POSITION, LuzPos);
glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, SpotDir);
glEnable(GL_LIGHT0);
glEnable(GL_LIGHTING);
glMaterialfv(GL_FRONT, GL_SPECULAR, SpecRef);
glMaterialf(GL_FRONT, GL_SHININESS, 100);
  #2 (permalink)  
Antiguo 07/05/2014, 06:34
Avatar de iblancasa  
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 143
Antigüedad: 11 años, 7 meses
Puntos: 16
Respuesta: Iluminacion OpenGl

¿Dónde estás definiendo eso?
Si miras la web:
http://www.opengl.org/sdk/docs/man2/xhtml/glLight.xml

Verás que lo que pasa es que se está quedando con el valor por defecto. Comprueba que no estás teniendo problemas con la modelview matrix.

Un saludo.

Etiquetas: iluminacion, opengl
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:50.