When designing a rayshade input file, there are two main issues that must be considered. The first and more complex is the selection of the objects to be rendered and the appearances they should be assigned. The second and usually easier issue is the choice of viewing parameters. This chapter deals with the latter problem; the majority of the following chapters discuss aspects of objects and their appearances.
Rayshade uses a camera model to describe the geometric relationship between the objects to be rendered and the image that is produced. This relationship describes a perspective projection from world space onto the image plane.
The geometry of the perspective projection may be thought of as an infinite pyramid, known as the viewing frustum. The apex of the frustum is defined by the camera's position, and the main axis of the frustum by a ``look'' vector. The four sides of the pyramid are differentiated by their relationship to a reference ``up'' vector from the camera's position.
The image ultimately produced by rayshade may then be thought of as the projection of the objects closest to the eye onto a rectangular screen formed by the intersection of the pyramid with a plane orthogonal to the pyramid's axis. The overall shape of the frustum (the lengths of the top and bottom sides compared to left and right) is described by the horizontal and vertical fields of view.