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.

4.2.10 Bound<br />

<strong>The</strong> graphics state maintains a bounding box called the current bound. <strong>The</strong> rendering program<br />

may clip or cull primitives to this bound.<br />

RiBound ( RtBound bound )<br />

This procedure sets the current bound to bound. <strong>The</strong> bounding box bound is specified<br />

in the current object coordinate system. Subsequent output primitives should all lie<br />

within this bounding box. This allows the efficient specification of a bounding box<br />

for a collection of output primitives.<br />

RIB BINDING<br />

Bound xmin xmax ymin ymax zmin zmax<br />

Bound [xmin xmax ymin ymax zmin zmax]<br />

EXAMPLE<br />

Bound [0 0.5 0 0.5 0.9 1]<br />

SEE ALSO<br />

RiDetail<br />

4.2.11 Detail<br />

<strong>The</strong> graphics state maintains a relative detail, a current detail, and a current detail range. <strong>The</strong><br />

current detail is used to select between multiple representations of objects each characterized<br />

by a different range of detail. <strong>The</strong> current detail range is given by 4 values. <strong>The</strong>se<br />

four numbers define transition ranges between this range of detail and the neighboring<br />

representations. If the current detail lies inside the current detail range, geometric primitives<br />

comprising this representation will be drawn.<br />

Suppose there are two object definitions, foo1 and foo2, for an object. <strong>The</strong> first contains more<br />

detail and the second less. <strong>The</strong>se are communicated to the rendering program using the<br />

following sequence of calls.<br />

RiDetail ( bound );<br />

RiDetailRange ( 0., 0., 10., 20. );<br />

RiObjectInstance ( foo1 );<br />

RiDetailRange ( 10., 20., RI INFINITY, RI INFINITY);<br />

RiObjectInstance ( foo2 );<br />

<strong>The</strong> current detail is set by RiDetail. <strong>The</strong> detail ranges indicate that object foo1 will be drawn<br />

when the current detail is below 10 (thus it is the low detail detail representation) and that<br />

51

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

Saved successfully!

Ooh no, something went wrong!