Vous êtes sur la page 1sur 3

Práctica 3

Proyecciones y puerto de vista.


Objetivo: El alumno observara las diferencias entre la proyección ortogonal y
en perspectiva, y su implementación en OpenGL

Cuestionario Previo:
1. GLUT tiene un callback llamado glutSpecialFunc(), explique para qué se ocupa
además liste los valores asociados a los eventos que procesa (interesa los valores
para el manejo de teclas especiales)

glutSpecialFunc() establece la devolución de llamada de teclado especial para la


ventana actual. La devolución de llamada del teclado especial se activa cuando se
presionan la función del teclado o las teclas de dirección. El parámetro de devolución de
llamada clave es una constante GLUT_KEY_ * para la tecla especial presionada. Los
parámetros de devolución de llamada ‘x’ e ‘y' indican el mouse en las coordenadas
relativas de la ventana cuando se presionó la tecla. Cuando se crea una nueva ventana,
no se registra inicialmente una devolución de llamada especial y se ignoran los golpes
de tecla especiales en la ventana. Pasar NULL a glutSpecialFunc desactiva la
generación de devoluciones de llamada especiales

GLUT_KEY_F1
Tecla de función F1.
GLUT_KEY_F2
Tecla de función F2.
GLUT_KEY_F3
Tecla de función F3.
GLUT_KEY_F4
Tecla de función F4.
GLUT_KEY_F5
Tecla de función F5.
GLUT_KEY_F6
Tecla de función F6.
GLUT_KEY_F7
Tecla de función F7.
GLUT_KEY_F8
Tecla de función F8.
GLUT_KEY_F9
Tecla de función F9.
GLUT_KEY_F10
Tecla de función F10.
GLUT_KEY_F11
Tecla de función F11.
GLUT_KEY_F12
Tecla de función F12.
GLUT_KEY_LEFT
Tecla direccional izquierda.
GLUT_KEY_UP
Tecla direccional arriba.
GLUT_KEY_RIGHT
Tecla direccional derecha.
GLUT_KEY_DOWN
Tecla direccional hacia abajo.
GLUT_KEY_PAGE_UP
Página arriba tecla direccional.
GLUT_KEY_PAGE_DOWN
Tecla direccional página abajo.
GLUT_KEY_HOME
Tecla direccional del hogar.
GLUT_KEY_END
Tecla direccional final.
GLUT_KEY_INSERT
Inserción de tecla direccional.

2. ¿Qué utilidad tienen las funciones de OpenGL: glOrtho y glFrustum? Explique


las diferencias entre ambos tipos de proyecciones.

Nos ayudan a crear una cámara sintetica la cual va a proyectar la imagen que tenga el
plano de proyección en un momento dado a la ventana, la diferencia es que glortho
ignora la distancia entre objetos y los muestra todos a la misma distancia lo que genera
una perspectiva en 2d y glfrustrum deforma los objetos según su distancia respecto de la
cámara, lo que genera una perspectiva en 3d

3. ¿Qué sucede si al código que funcionó en la Práctica 2, se le quita la línea


glutInitWindowPosition ();? ¿El código funciona? Explique.
Si se ejecuta, al no inicializar el tamaño de la ventana esta toma un valor por default que
es el de 300 x 300 pixeles

4. ¿Qué sucede si al código que funcionó en la Práctica 2, se le modifica la línea


glutInitWindowSize (); y se le ponen valores muy altos? Ejemplo
glutInitWindowSize (30000, 5000);. Explique:

Toma los valores máximos de la resolución del dispositivo de despliegue. Es como si se


abriera la aplicación en ventana maximizada.

Bibliografía

https://www.opengl.org/resources/libraries/glut/spec3/node54.html
Reporte Práctica 2. (Individuales)
1. Construya figuras que representen a las letras C (construida en clase), la primer
letra de su primer nombre y la primer letra de su primer apellido, en mi caso
serían CLV (Luis Valencia). Las letras deben estar formadas por cuadriláteros,
triángulos o polígonos que no se encimen (uno sobre otro), pero si pueden
compartir vértices. Dichas figuras tendrán relleno.
2. Dentro de ese mismo programa construir una estrella, con las mismas
condiciones que las letras, pero utilizando la opción de dibujo GL_QUADS.

3. Envíe por correo el archivo de código con los elementos anteriores. (Antes de la
siguiente sesión)
4. Incluya en el reporte una hoja cuadriculada, donde se muestren las coordenadas
que utilizó para formar las letras solicitadas y la estrella.
5. De un breve comentario de la práctica pasada, indicando los pasos que se le
complicaron y sugerencias para mejorar desarrollo de la práctica.

Estuvo bien el desarrollo de la práctica, lo que se me complico es el orden de los


pixeles, al hacerlo rápido los colocaba en desorden y generaba poligonos extraños, fuera
de eso estuvo bien la practica.

Vous aimerez peut-être aussi