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.

and uniform variables on an RiNuPatch has now officially been deemed to be computed as<br />

if the NuPatch is a nonperiodic uniform B-spline mesh, rather than a single B-spline patch.<br />

Details are given in Section 5.2 where the RiNuPatch primitive is described.<br />

<strong>The</strong> 3.1 spec implied that Shading Language variable initialization expressions could only<br />

be uniform. That restriction is lifted.<br />

<strong>The</strong> Shading Language variables du and dv are potentially varying, and are not restricted<br />

to be uniform as the 3.1 specification suggests.<br />

A number of new optional arguments to the Shading Language texturing functions have<br />

been added: ”blur”, ”sblur”, ”tblur”, ”filter”, ”fill”.<br />

Many new built-in functions, or new variants of existing functions, have been added to<br />

the Shading Language, including: inversesqrt, random, transform, vtransform, ntransform,<br />

determinant, concat, format, match, translate, rotate, scale, ctransform, ptlined, filterstep,<br />

noise, cellnoise, pnoise, specularbrdf, attribute, option, textureinfo, rendererinfo, min, max,<br />

clamp, mix, spline, atmosphere, displacement, lightsource, surface, Dtime.<br />

<strong>The</strong> illuminance statement has been expanded to accept category specifiers.<br />

Shading Language has added new variables: dtime and dPdtime.<br />

Rather than strictly requiring user-defined and nonstandard data to be typed using RiDeclare,<br />

such tokens can have their types specified “in-line” by prepending the type declaration<br />

to the token name.<br />

Renderers may output images composed of arbitrary data computed by shaders, in addition<br />

to “rgb” and so on. Such extra data may also be sent to different output files.<br />

We have clarified that interior and exterior volume shaders are not specific to CSG solids,<br />

but rather are shaders that alter the colors of rays spawned by trace() calls in the shaders<br />

of the primitive.<br />

RiArchiveRecord now takes ”verbatim” as the record type.<br />

We have clarified that in imager shaders, P is the raster space position of the pixel center,<br />

and not the point on any piece of scene geometry.<br />

We have changed the wording of the section that once described the required versus optional<br />

capabilities of <strong>RenderMan</strong>-compliant renderers. A few features previously described<br />

as optional, such as programmable shading, texture mapping, and trim curves, have been<br />

moved unambiguously to the list of requirements. <strong>The</strong>re is still a list of “advanced features”<br />

that are no longer referred to as “optional,” but it is understood that algorithmic<br />

limitations may prevent some implementations from fully supporting those features.<br />

Object Instances are a bit more flexible in 3.2 than they were in 3.1. In particular, relative<br />

transformations and Motion blocks are allowed within Object definitions.<br />

Some changes have been made to the required standard shaders: they have been updated<br />

to make use of the new data types, the bumpy shader now does displacement instead of<br />

using the depricated bump() function, and there is now a standard background imager<br />

shader.<br />

212

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

Saved successfully!

Ooh no, something went wrong!