26.01.2015 Views

The RenderMan Interface - Paul Bourke

The RenderMan Interface - Paul Bourke

The RenderMan Interface - Paul Bourke

SHOW MORE
SHOW LESS
  • 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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!