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.
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