Transformations may also be independently applied to pigment patterns and surface normal patterns. Note that scaling a normal pattern affects only the width and spacing. It does not affect the apparent height or depth of the bumps. For example:
Depending on the projection type some of the parameters are required, some are optional and some aren't used. If no projection type is given the perspective camera will be used (pinhole camera). If no camera is specified a default camera is used.
Regardless of the projection type all cameras use the location , look_at , right , up , direction and sky keywords to determine the location and orientation of the camera. Their meaning differs with the projection type used. A more detailed explanation of the camera placement follows later.
Perspective projection: This projection represents 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 below for the geometry of the perspective camera.
Orthographic projection: This projectio
n uses parallel camera rays to create an image of the scene. The size of the ima
ge is determined by the lengths of the right and up vectors. If you add the orth
ographic keyword after all other parameters of a perspective camera you'll get a
n 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 be
cause they'll be calculated automatically. You should be aware though that the v
isible parts of the scene change when switching from perspective to orthographic
view. As long as all objects of interest are near the look_at location they'll
be still visible if the orthographic camera is used. Objects farer away may get
out of view while nearer objects will stay in view.
If the perspective camera is used the angle keyword overrides the viewing angle specified by the direction keyword and vice versa. Each time angle is used the length of the direction vector is adjusted to fit the new viewing angle.
There is no limitation to the viewing angle except for the perspective projection. If you choose viewing angles larger than 360 degrees you'll see repeated images of the scene (the way the repetition takes place depends on the camera). This might be useful for special effects.
You should note that the vista buffer can only be used with the perspective and orthographic camera.
The aperture setting determines the depth of the sharpness zone. Large apertures give a lot of blurring, while narrow apertures will give a wide zone of sharpness. Note that, while this behaves as a real camera does, the values for aperture are purely arbitrary and are not related to f-stops.
The center of the zone of sharpness is the focal_point vector (the default focal_point is <0,0,0>).
The blur_samples value controls the maximum number of rays to use for each pixel. More rays give a smoother appearance but is slower, although this is controlled somewhat by an adaptive mechanism that stops shooting rays when a certain degree of confidence has been reached that shooting more rays would not result in a significant change.
The confidence and variance keywords control the adaptive function. The confidence value is used to determine when the samples seem to be close enough to the correct color. The variance value specifies an acceptable tolerance on the variance of the samples taken so far. In other words, the process of shooting sample rays is terminated when the estimated color value is very likely (as controlled by the confidence probability) near the real color value.
Since the confidence is a probability its values can range from 0 to 1 (the default is 0.9, i. e. 90%). The value for the variance should be in the range of the smallest displayable color difference (the default is 1/128).
Larger confidence values will lead to more samples, slower traces and better images. The same holds for smaller variance thresholds.
By default no focal blur is used, i. e. the default aperture is 0 and the default number of samples is 0.
The location is simply the x, y, z coordinates of the camera. The camera can be located anywhere in the ray-tracing universe. The default location is <0, 0, 0>. The look_at vector tells POV-Ray to pan and tilt the camera until it is looking at the specified x, y, z coordinates. By default the camera looks at a point one unit in the z-direction from the location.
The look_at specification should almost always be the last item in the camera statement. If other camera items are placed after the look_at vector then the camera may not continue to look at the specified point.
This tells POV-Ray to roll the camera until the top of the camera is in line with the sky vector. Imagine that the sky vector is an antenna pointing out of the top of the camera. Then it uses the sky vector as the axis of rotation left or right and then to tilt up or down in line with the sky vector. In effect you're telling POV-Ray to assume that the sky isn't straight up. Note that the sky vector must appear before the look_at vector.
The sky vector does nothing on its own. It only modifies the way the look_at vector turns the camera. The default value for sky is <0, 1, 0>.
If you are using the ultra wide angle, panoramic or cylindrical projection you should use a unit length direction vector to avoid strange results.
The length of the direction vector doesn't matter if one of the following projection types is used: orthographic, fisheye or omnimax.
The necessary calculations to convert from one method to the other are described below. These calculations are used to determine the length of the direction vector whenever the angle keyword is encountered.
The viewing angle is converted to a direction vector length and vice versa using the formula The viewing angle is given by the formula
where right_length and direction_length are the lengths of the right and direction vector respectively and arctan is the inverse tangens function.
From this the length of the direction vector can be calculated for a given viewing angle and right vector.
From this the length of the direction vector can be calculated for a given viewing angle and right vector.
or the look_at parameter (in combination with location) . The directions of an explicitly specified right and up vector will be overridden by any following look_at parameter.
While some camera types ignore the length of these vectors others use it to extract valuable information about the camera settings. The following list will explain the meaning of the right and up vector for each camera type. Since the direction the vectors is always used to describe the orientation of the camera it will not be explained again.
Perspective projection: The lengths of the up and right vectors are used to set the size of the viewing window and the aspect ratio as described in detail in section "Aspect Ratio" . Since the field of view depends on the length of the direction vector (implicitly set by the angle keyword or explicitly set by the direction keyword) and the lengths of the right and up vectors you should carefully choose them in order to get the desired results.
Note that the up, right and direction vectors should always remain perpendicular to each other or the image will be distorted. If this is not the case a warning message will be printed. The vista buffer will not work for non-perpendicular camera vectors. 
The perspective camera.
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
Section 7.4.2
Focal Blur
Section 7.4.3
Camera Ray Perturbation
Section 7.4.4
Placing the Camera
Section 7.4.4.1
Location and Look_At
Section 7.4.4.2
The Sky Vector
Section 7.4.4.3
The Direction Vector
Section 7.4.4.4
Angle
angle = 2 * arctan(0.5 * right_length / direction_length)
direction_length = 0.5 * right_length / tan(angle / 2)
Section 7.4.4.5
Up and Right Vectors
Orthographic projection: The lengths of the right and up vector set the size of the viewing window regardless of the direction vector length, which is not used by the orthographic camera. Again the relation of the lengths is used to set the aspect ratio.
Fisheye projection: The right and up vectors are used to set the aspect ratio.
Ultra wide angle projection: The up and right vectors work in a similar way as for the perspective camera.
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: The up and right vectors work in a similar way as for the perspective camera.
Cylindrical projection: In cylinder type 1 and 3 the axis of the cylinder lies along the up vector and the width is determined by the length of right vector or it may be overridden with the angle vector. In type 3 the up vector determines how many units high the image is. For example if you have up 4*y on a camera at the origin. Only points from y=2 to y=-2 are visible. All viewing rays are perpendicular to the y-axis. For type 2 and 4, the cylinder lies along the right vector. Viewing rays for type 4 are perpendicular to the right vector.
Table Of Contents