Cita de: tamat en 17 de Septiembre de 2009, 04:19:38 PM
Solo me aseguraba
gracias por tu ayuda y paciencia.
Con el tiempo uno se hace mayor y las cosas cuestan mas ::).
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenuCita de: tamat en 17 de Septiembre de 2009, 04:19:38 PM
Solo me aseguraba
Cita de: tamat en 17 de Septiembre de 2009, 10:29:22 AM
Vuelves a cometer un error.
Cambiar la Z sí que altera lo que vemos, solo hay un caso donde no sucede así, y es si trabajamos con una proyeccion ortografica y nuestro front está alineado con el eje Z del mundo
Cita de: tamat en 17 de Septiembre de 2009, 10:29:22 AM
Incluso aunque la camara estuviera alineada con el eje Z, si estamos en perspectiva solo sucedería lo que comentas si el vertice que movemos está justo en el centro, si esta en otro lado entonces la proyeccion haría que se alejase o acercase al centro, un poco en la linea del clasico salvapantallas de estrellas que viajan hacia ti.
Cita de: tamat en 16 de Septiembre de 2009, 12:59:51 PM
A ver, la piramide cortada (o frustrum) es el area del mundo que queda dentro de la zona visible. Obviamente viene definido por las matrices de proyeccion (esta define la forma de la piramide) y por la Modelview (esta define donde está la piramide), pero no tiene sentido hablar de tener la piramide en un sitio y mirar a otro, es absurdo, la piramide ES lo que ves.
Cita de: tamat en 15 de Septiembre de 2009, 12:59:28 PM
No existe un modo glPerspectiva o glOrtho, estas funciones lo unico que hacen es cargar la matriz que quieras en la matriz activa.
Por eso es importante que cuando uses las funciones de GL para cámara (glOrtho, glLookat, glPerspective, etc) recuerda que afectan a la matriz activa, que puede ser la MODELVIEW o la PROJECTION. No cambian automaticamente de matriz.
Recuerda que la PROJECTION es la que determina temas de proyeccion de 3D a 2D, así que tiene que estar activa antes de usar glOrtho o glPerspective.
La MODELVIEW es la de posicionar la cámara y tiene que estar activa antes de hacer glLookAt o cualquier glTranslate, glRotate o glScale.
Un error habitual es dejar activada la PROJECTION al settear la camara y luego extrañarse que el translate no funcione correctamente.
Y por último, recuerda que las funciones que modifican las matrices son acumulativas, es decir, no settean el valor en la matriz de opengl, lo multiplican, así que asegurate de hacer un glLoadIdentity antes.
Yo por lo general hago:
glMatrixMode( GL_PROJECTION_MATRIX )
glLoadIdentity()
glOrtho(0, WINDOW_WIDTH, 0, WINDOW_HEIGHT,-1,1) //aunque a veces invierto la Y
glMatrixMode( GL_MODELVIEW_MATRIX )
glLoadIdentity()
//si estuvieramos en Perspective aquí iria el glLookAt
Por lo demas creo que vas bastante bien.
Cita de: yorch en 14 de Septiembre de 2009, 01:25:09 PM
Hola, yo que ahora no estoy currando a ver si te puedo ayudar :P
Hace tiempo que no toco OpenGL pero creo recordar que el error en VS de la redefinición de exit() al incluir glut.h se arreglaba cambiando el orden de "includes". Prueba a ponerlo al final de todos los #include que tengas.
Saludos :)
Cita de: [EX3] en 14 de Septiembre de 2009, 12:50:04 PM
Si el asunto no es que sean conceptos sencillos si no que ahora mismo es horario de trabajo y mas de uno (me deberia incluir :..) estamos ocupados en nuestros respectivos trabajos :D
Salu2...
Cita de: [EX3] en 14 de Septiembre de 2009, 12:27:44 PMCita de: marcianus en 14 de Septiembre de 2009, 12:00:43 PMNo seas impaciente, hombre, que no te van a responder en una mañana :P
Mas disculpas por si he preguntado demasiadas tonterias dado que nadie responde :-[
Salu2...