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"
"float maxsilhuetteedge" [10] |
This value gives the maximum projected size (in pixels) of
an edge along the silhouette for tessellating for raytracing. |
Attribute "dice"
"float maxedgelength" [50] |
This is the maximum projected size (in pixels) of an edge
for tessellating for raytracing. |
Attribute "dice"
"float maxinvisibleedgelength" [1] |
This controls the maximum length of an edge that is out of
the view frustum in the camera space for tessellating for raytracing. |
Attribute "dice"
"float flatness" [1000000] |
This number controls the tessellation error. The
triangulated surface does not deviate from the actual surface more than
this amount. In order to avoid self-shadowing artifacts, this number must
be less than the raytracing bias (shadow bias). Low number tend to create
lots of triangles, so try to pick the largest number that works for you.
This quantity is in the camera coordinate system. |
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. |
|
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 object is visible to photons (i.e. it will block
/ bounce photons). |
Attribute "trace"
"int numarealightsamples" [1] |
This value controls the number of area light source samples
to take. |
Attribute "trace"
"float bias" [0.01] |
This is the self-intersection bias. If you see self
intersection artifacts, make sure this value is greater than the tessellation
error (Attribute "dice" "flatness") |
|
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 "", "rw",
"r", "w", "R" for no r/w, read and write,
read, write and read only. The difference between r and R is that one can compute new samples if the cache is
not sufficient but not write the new sample values onto disk whereas the
latter one uses the cache data without adding new samples. |
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". |
|