6.4.2  Tipos de Proyección

La siguiente lista explica los diferentes tipos de proyección que se pueden usar con la cámara. Los tipos más comunes son las proyecciones ortográfica y perspectiva. El TIPO_DE_CÁMARA debería ser el primer elemento en la declaración de la cámara. Si no se especifica ninguno, el modo por defecto es la cámara perspectiva.

La memoria intermedia (más conocida como buffer) de vistas sólo se puede utilizar con las cámaras perspectiva y ortográfica.

6.4.2.1  Proyección Perspectiva

La palabra clave perspective determina la cámara perspectiva, que simula la típica cámara con objetivo. El ángulo de visión horizontal es determinado por la proporción entre la longitud del vector direction y la longitud del vector right, o por la palabra clave opcional angle, que es el modo aconsejado. El ángulo de visión ha de ser mayor de 0 y menor de 180 grados. Véase la figura en la sección "Situando la Cámara" para conocer la geometría de la cámara perspectiva.

6.4.2.2  Proyección Ortográfica

La cámara ortográfica tiene dos modos de operación:

La proyección ortográfica pura. Esta proyección utiliza rayos paralelos para crear una imagen de la escena. El área de visión está determinada por las longitudes de los vectores right y up, que, por cierto, han de ser especificados, ya que con este tipo de proyección no se utilizan los de la cámara por defecto. En caso de ser omitidos, se usará el segundo método de proyección ortográfico de la cámara.

Si, en una cámara perspectiva, reemplazamos la palabra clave perspective por orthographic, y dejamos los demás parámetros igual, obtendremos una vista ortográfica con la misma área de imagen. Se puede conseguir lo mismo añadiendo la palabra clave angle a una cámara ortográfica. El valor de los ángulos es opcional. Ergo, este modo se activa si up y right no están presentes en la declaración de la cámara, o cuando la palabra clave angle lo está.

Debemos prestar atención al hecho de que las partes visibles de la escena pueden variar cuando cambiamos entre las vistas perspectiva y ortográfica. Mientras los objetos de interés estén cerca del punto look_at, seguirán visibles cuando cambiemos a la cámara ortográfica. Los objetos más lejanos pueden salir del encuadre mientras los cercanos permanecen a la vista.

Si los objetos están demasiado cerca a la situación de la cámara pueden desparecer. Demasiado cerca quiere decir, detrás del plano de proyección de la cámara ortográfica (el plano que atraviesa el punto look_at).

6.4.2.3  Proyección Ojo de Pez

Ésta es una proyección esférica. El ángulo de visión se especifica mediante la palabra clave angle. Un ángulo de 180 grados crea un ojo de pez "estándar", mientras que un ángulo de 360 grados crea un súper-ojo-de-pez. Si usamos este tipo de proyección, obtendremos una imagen circular. Si no es el caso, y por ejemplo, obtenemos una imagen elíptica, deberíamos consultar la sección "Relación de Aspecto".

6.4.2.4  Proyección Ángulo Súper Ancho

Esta proyección es parecida a la anterior, pero proyecta la imagen en un rectángulo en vez de un círculo. El ángulo de visión puede ser especificado usando la palabra clave angle.

6.4.2.5  Proyección Omnimax

La proyección omnimax es un "ojo de pez" de 180 grados al que se le ha reducido el ángulo de visión en dirección vertical. En realidad, este tipo de proyección se usa para crear películas que puedan ser proyectadas en los cines Omnimax (con pantalla en forma de cúpula). La imagen resultante se asemeja a una elipse. La palabra clave angle no se utiliza en este tipo de proyección.

6.4.2.6  Proyección Panorámica

Esta proyección es llamada "proyección cilíndrica equirectangular". Su uso supera el problema que conlleva la cámara perspectiva cuando el ángulo de visión se acerca a 180 grados. Se utiliza un tipo de proyección cilíndrica capaz de manejar ángulos de visión mayores de 180 grados con una distorsión lateral aceptable. La palabra clave angle se utiliza para determinar el ángulo de visión.

6.4.2.7  Proyección Cilíndrica

Si utilizamos esta proyección, la escena se proyecta sobre un cilindro. Hay cuatro tipos diferentes de proyecciones cilíndricas, dependiendo de la orientación del cilindro y la posición del punto de vista. A la palabra clave cylinder, debe seguirle un valor entero entre 1 y 4. El ángulo de visión y la longitud de los vectores up o right determinan las dimensiones de la cámara y la imagen visible. La cámara a usar se determina mediante un número. Los tipos son:

1. cilindro vertical, con punto de vista fijo
2. cilindro horizontal, con punto de vista fijo
3. cilindro vertical, el punto de vista se mueve a lo largo de los ejes del cilindro
4. cilindro horizontal, el punto de vista se mueve a lo largo de los ejes del cilindro

6.4.2.8  Proyección Esférica

Usando esta proyección la escena se proyecta en una esfera.

Sintaxis:

  camera {
    spherical
    [angle HORIZONTAL [VERTICAL]]
    [CAMERA_ITEMS...]
  }

El primer valor tras el ángulo ajusta el ángulo de visión horizontal de la cámara. Con el segundo valor opcional, se ajusta el ángulo de visión vertical, ambos en grados. Si el ángulo vertical no se especifica, se toma por defecto la mitad del ángulo horizontal.

La proyección esférica es similar a la proyección ojo-de-pez, en que la escena es proyectada en una esfera. Pero se diferencia en que se usan coordenadas rectangulares en lugar de coordenadas polares; en esto funciona del mismo modo que el mapeado esférico (map_type 1).

Esto tiene varias utilidades. Primero, permite que una imagen generada con una cámara esférica pueda ser mapeada en una esfera sin distorsión (con la cámara ojo de pez, primero se ha de convertir la imagen de coordenadas polares a rectangulares con un editor de imágenes). Además, permite efectos como el "mapeado de entorno", a menudo usado para simular reflejos en otros programas infográficos que no usan algoritmos de trazado de rayos, sino scanline.