Dice attributes |
The attributes in this category control
how a primitive will be tessellated for raytracing or scan-line rendering. |
|
Attribute "dice"
"int minsubdivision" [2] |
This is the minimum number of subdivisions that have to be
performed to triangulate the surface of a primitive for raytracing. If the
primitive has a very large curvature, you may want to increase this number
(although default value is usually sufficient). |
Attribute "dice"
"int maxsubdivision" [10] |
This is the maximum number of subdivisions to make in
tesselating a surface for raytracing. |
Attribute "dice"
"int numprobes[2]" [3 3] |
During the scan line rendering, the renderer needs to
estimate the bounding box of a piece of a primitive. Pixie does this by
sampling points on the surface and then extending the bounding of these
points. "numprobes" controls the number of samples in u
and v directions to take in order to estimate the bound. Notice that this
is just an estimate and the renderer may underestimate the correct bound.
The right way to do this is to actually subdivide the surface. But this
consumes lost of computation and memory. |
Attribute "dice"
"int minplits" [2] |
This controls the minimum number of times a surface is
split before dropping into the reyes pipeline. Since the pixie estimates
the surface bounds by sampling, this number must be greater than 0 for
some primitives. |
Attribute "dice"
"float boundexpand" [0.5] |
This is the factor by which Pixie will overestimate the
bound of the surface pieces. The bounding box computed by point sampling
on the surface will be expanded by this factor. |
Attribute "dice"
"int binary" [0] |
If this value is 1, when sampling a grid on a surface
piece, create a power of two edges on the boundaries. This attribute is
used to help the patch cracking problem. |
|
Displacement attributes |
These attributes are used to tell renderer how much a
displacement shader actually displaces the surface. This information is
vital for accurately tessellating and rendering surfaces displaced
surfaces. |
|
Attribute "displacement"
"float sphere" [0] |
This is the amount in the displacement coordinate system by
which the displacement shader can move the surface. |
Attribute "displacement"
"string coordinatesystem" "current" |
This command sets the coordinate system that the
displacement bound is expressed in. |
|
Visibility attributes |
The attributes in this class control the visibility
behaviors of objects. |
|
Attribute "visibility"
"int camera" [1] |
If 1, the object is visible to camera rays (and to the
scanline renderer). |
Attribute "visibility"
"int trace" [0] |
If 1, the object is visible to rays created by the trace
shading language command. |
Attribute "visibility"
"int photon" [0] |
If 1, the object is visible to photons (i.e. it will block
/ bounce photons). |
Attribute "visibility"
"string transmission" "transparent" |
This value controls the shadowing behavior of the object.
If this value is "transparent", the object is not visible to the
transmission rays and is considered completely transparent. If it is
"opaque", the object is considered opaque. If it is "shader",
the surface shader is executed to find out the opacity. If it is
"Os", the opacity of the surface is copied from the Os
attribute. |
|
Trace attributes |
These attributes control the raytracer behavior. |
|
Attribute "trace"
"int displacements" [0] |
If 1, the surface will be displaced before the raytracing.
True displacements for raytracing may be very expensive. Use this
attribute sparingly as for most displacement shaders, this will not create
noticeable change. |
Attribute "trace"
"float bias" [0.01] |
This is the self-intersection bias. This single value is
used for all raytracing as well as shadow mapping computations. Notice
that the default value is different than the PrMan's shadow
option. |
Attribute "trace"
"int maxdiffusedepth" [1]
|
This is the maximum number of diffuse photon bounces to compute with the photon
hider.
|
Attribute "trace"
"int maxspeculardepth" [2]
|
This is the maximum number of specular photon bounces to compute with the photon
hider.
|
|
Irradiance attributes |
These attributes control the irradiance / occlusion
caching. |
|
Attribute "irradiance"
"string handle" "" |
This is the irradiance cache file. Irradiance caching is
usually a two pass approach: in the first pass, an irradiance cache is
computed and saved into the file whose name is given by this attribute. In
the second pass the same file used. Notice that this is an attribute,
meaning different objects can save irradiance / occlusion information into
separate files. This file is used by both indirectdiffuse and
occlusion shading language commands. |
Attribute "irradiance"
"string filemode" "" |
This argument controls how the irradiance file is used.
Valid argument values are "","r", "w" for no r/w, read and
write. You want to use "w" for
the first pass and "r" for the
second. |
Attribute "irradiance"
"float maxerror" [0.5] |
This is a quality knob for the irradiance cache. 0 means a
new sample is computer for each shading point without caching (very bad
idea). |
|
Photon attributes |
These attributes control the photon mapping. |
|
Attribute "photon"
"string globalmap" "" |
This attribute specifies the global photonmap to create if photon hider is being used. |
Attribute "photon"
"string causticmap" "" |
This attribute specifies the caustic photonmap to create if
photon hider is being used. |
Attribute "photon"
"string shadingmodel"
"matte" |
This attribute gives the shading model to use when
scattering photons. The valid values are: "matte",
"glass", "water",
"chrome" and
"transparent". |
Attribute "photon"
"int estimator"
"100" |
This is the number of photons to use when estimating the
irradiance. Bigger numbers will cause smoother but blurrier estimates. The
smaller numbers will create sharper but noisier image. |