Hay una función de Glu que se llama Glulookat:

http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/glu/lookat.html

Es un interfaz mucho más intuitivo para la cámara.

Un saludo,
Sergio.

El día 17 de julio de 2008 19:52, Manuel David Jiménez Patiño <
[EMAIL PROTECTED]> escribió:

> Hola a todos/as.
>
> Intento hacer zoom en una ventana creada mediante OpenGL.
>
> Para ello he creado una función llamada:
>
> void  raton_click (int boton, int estado_boton, int x, int y);
>
>
> la quiero utilizar cunado se detecta algún evento en el ratón, para ello:
>
> glutMouseFunc (raton_click);
>
>
> Dentro de la función mouse_click, tengo:
>
> void  raton_click (int boton, int estado_boton, int x, int y) {
>
>     if ((boton == GLUT_MIDDLE_BUTTON) && (estado_boton == GLUT_DOWN)){
>         zoom *+=* 0.20;
>         glViewport (0, 0, zoom, zoom);
>         glutPostRedisplay();
>     }
>
>  }
>
>
> He leído que glViewport es para fijar vistas:
>
> void glViewport (GLint x, GLint y, GLsizei ancho, GLsizei alto)
>
> Los parámetros x e y especifican la esquina inferior izquierda de la vista
> dentro de la ventana, y los parámetros ancho y alto especifican las
> dimensiones en pixels.
> http://www.alobbs.com/revistas/opengl2
>
> Pero algo falla, es decir, hacer zoom hace, pero a la vez que me hace zoom
> me desplaza los objetos hacia un lado y llega un momento que desaparecen.
>
> Para corregir lo anterior pensé hacer dentro de la función raton_click:
>
> if ((boton == GLUT_RIGHT_BUTTON && (estado_boton == GLUT_DOWN)){
>         zoom -*=* 0.20;
>         glViewport (0, 0, zoom, zoom);
>         glutPostRedisplay();
>     }
>
>
> Pero al hacer esto me hace los objetos más pequeños pero igualmente me los
> lleva para el otro lado.
>
> ¿Alguno de ustedes se ha viso en la situación de hacer zoom mediante
> OpenGl?
> Me conformaría si los objetos no se moviesen para los lados.
>
> Agradecería cualquier ayuda.
>
>
>
> Un saludo amigos.
>
>
>
>
>
> _______________________________________________
> CRySoL mailing list
> http://crysol.inf-cr.uclm.es/
> https://arco.inf-cr.uclm.es/cgi-bin/mailman/listinfo/crysol
>
>
_______________________________________________
CRySoL mailing list
http://crysol.inf-cr.uclm.es/
https://arco.inf-cr.uclm.es/cgi-bin/mailman/listinfo/crysol

Responder a