The following list explains the different projection types that can be used with the camera. The most common types are the perspective and orthographic projections. In general the CAMERA_TYPE should be the first item in a camera
statement. If none is specified, the perspective
camera is the default.
Perspective projection: The perspective
specifies the default perspective camera which simulates the classic pinhole camera. The (horizontal) viewing angle is either determined by the ratio between the length of the direction
vector and the length of the right
vector or by the optional keyword angle
, which is the preferred way. The viewing angle has to be larger than 0 degrees and smaller than 180 degrees. See the figure in "Placing the Camera" for the geometry of the perspective camera.
Orthographic projection: This projection uses parallel camera rays to create an image of the scene. The size of the image is determined by the lengths of the right
and up
vectors.
If you add the orthographic
keyword after all other parameters of a perspective camera you'll get an orthographic view with the same image area, i.e. the size of the image is the same. In this case you needn't specify the lengths of the right
and up
vector because they'll be calculated automatically. You should be aware though that the visible parts of the scene change when switching from perspective to orthographic view. As long as all objects of interest are near the look_at
point they'll be still visible if the orthographic camera is used. Objects farther away may get out of view while nearer objects will stay in view.
Fisheye projection: This is a spherical projection. The viewing angle is specified by the angle
keyword. An angle of 180 degrees creates the "standard" fisheye while an angle of 360 degrees creates a super-fisheye ("I-see-everything-view"). If you use this projection you should get a circular image. If this isn't the case, i.e. you get an elliptical image, you should read "Aspect Ratio".
Ultra wide angle projection: This projection is somewhat similar to the fisheye but it projects the image onto a rectangle instead of a circle. The viewing angle can be specified using the angle
keyword.
Omnimax projection: The omnimax projection is a 180 degrees fisheye that has a reduced viewing angle in the vertical direction. In reality this projection is used to make movies that can be viewed in the dome-like Omnimax theaters. The image will look somewhat elliptical. The angle
keyword isn't used with this projection.
Panoramic projection: This projection is called "cylindrical equirectangular projection". It overcomes the degeneration problem of the perspective projection if the viewing angle approaches 180 degrees. It uses a type of cylindrical projection to be able to use viewing angles larger than 180 degrees with a tolerable lateral-stretching distortion. The angle
keyword is used to determine the viewing angle.
Cylindrical projection: Using this projection the scene is projected onto a cylinder. There are four different types of cylindrical projections depending on the orientation of the cylinder and the position of the viewpoint. A float value in the range 1 to 4 must follow the cylinder
keyword. The viewing angle and the length of the up
or right
vector determine the dimensions of the camera and the visible image. The camera to use is specified by a number. The types are:
1 |
vertical cylinder, fixed viewpoint |
2 |
horizontal cylinder, fixed viewpoint |
3 |
vertical cylinder, viewpoint moves along the cylinder's axis |
4 |
horizontal cylinder, viewpoint moves along the cylinder's axis |
You should note that the vista buffer can only be used with the perspective and orthographic camera.