The RenderMan Interface - Paul Bourke
The RenderMan Interface - Paul Bourke
The RenderMan Interface - Paul Bourke
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Coordiante System<br />
”object”<br />
”world”<br />
”camera”<br />
”screen”<br />
”raster”<br />
”NDC”<br />
Description<br />
<strong>The</strong> coordinate system in which the current geometric primitive is<br />
defined. <strong>The</strong> modeling transformation converts from object coordinates<br />
to world coordinates.<br />
<strong>The</strong> standard reference coordinate system. <strong>The</strong> camera transformation<br />
converts from world coordinates to camera coordinates.<br />
A coordinate system with the vantage point at the origin and the<br />
direction of view along the positive z-axis. <strong>The</strong> projection and<br />
screen transformation convert from camera coordinates to screen<br />
coordinates.<br />
<strong>The</strong> 2-D normalized coordinate system corresponding to the image<br />
plane. <strong>The</strong> raster transformation converts to raster coordinates.<br />
<strong>The</strong> raster or pixel coordinate system. An area of 1 in this coordinate<br />
system corresponds to the area of a single pixel. This coordinate<br />
system is either inherited from the display or set by selecting<br />
the resolution of the image desired.<br />
Normalized device coordinates — like ”raster” space, but normalized<br />
so that x and y both run from 0 to 1 across the whole (uncropped)<br />
image, with (0,0) being at the upper left of the image,<br />
and (1,1) being at the lower right (regardless of the actual aspect<br />
ratio).<br />
Table 4.2: Point Coordinate Systems<br />
imaging process was described above. When RiBegin is executed it establishes a complete<br />
set of defaults. If the rendering program is designed to produce pictures for a particular<br />
piece of hardware, display parameters associated with that piece of hardware are used. If<br />
the rendering program is designed to produce picture files, the parameters are set to generate<br />
a video-size image. If these are not sufficient, the resolution and pixel aspect ratio<br />
can be set to generate a picture for any display device. RiBegin also establishes default<br />
screen and camera coordinate systems as well. <strong>The</strong> default projection is orthographic and<br />
the screen coordinates assigned to the display are roughly between ±1.0. <strong>The</strong> initial camera<br />
coordinate system is mapped onto the display such that the +x axis points right, the +y<br />
axis points up, and the +z axis points inward, perpendicular to the display surface. Note<br />
that this is left-handed.<br />
Before any transformation commands are made, the current transformation matrix contains<br />
the identity matrix as the screen transformation. Usually the first transformation command<br />
is an RiProjection, which appends the projection matrix onto the screen transformation,<br />
saves it, and reinitializes the current transformation matrix as the identity camera transformation.<br />
This marks the current coordinate system as the camera coordinate system. After the<br />
camera coordinate system is established, future transformations move the world coordinate<br />
system relative to the camera coordinate system. When an RiWorldBegin is executed,<br />
the current transformation matrix is saved as the camera transformation, and thus the world<br />
coordinate system is established. Subsequent transformations inside of an RiWorldBegin-<br />
RiWorldEnd establish different object coordinate systems.<br />
21