Reference/Attributes
From Affogato
Contents |
Introduction
An Affogato property is a custom unregistered property that starts with word "affogato" (case insensitive). You can have any number of Affogato properties under an object. Their parameters get accumulated. If two properties share one or several parameters, the first property being read by Affogato gets the slot.
XSI
Visibility
Render Visibility
Toggels writing of the object. When switched off, the object is completely omitted from any data files Affogato generates.
Primary Rays
Toggles visibility to the camera. The object gets written to the data file, but won't be seen by the camera. The ray tracer will see this object, if ray tracing is turned on and the target renderer supports this feature.
Secondary Rays
Toggles visibility to the ray-tracer.
Shadows
When switched off, an attribute user:castsshadows is written to the data file which is set to 0 (off).
Geometric Approximation → Displacement
Max. Displacement
This is written to the data file as the displacement bound for shading. Shaders attached to the object will overwrite this with their local displacement bound, if nonzero.
Curves
curveradius
Float attribute. When found determines the radius (half the width) of the curve in world space. If combined with curverootradius or curvetipradius determines the radius at the middle of the curve.
curverootradius
Float attribute. When found determines the radius (half the width) at the curve's root in world space.
curvetipradius
Float attribute. When found determines the radius (half the width) at the curve's tip in world space.
stitch_curves
A boolean attribute called stitch_curves, with a value of True, will turn on stitching for curves (useful for fixing curves with heavy displacement). This will be written to the datafile as an attribute stitch:curves.
- Note: This is an attribute of the renderer, not Affogato. The renderer you use must support this.
Subdivision Surfaces
boundarytype
- 0 — The boundary of the surface is smoothly approximated. This means that e.g. a patch of extracted faces, when subdivieded, will keep at least tangent continuity between it's original surface. If there's at least one row of faces overlap, it will also keep a closed surface.
- 1 — The boundary of the surface is sharply interpolated. Boundary vertices with a valence of of 2 will be sharply interpolated (as corners), all other boundary vertices will be interpolated smoothly. The is the same behaviour XSI uses.
- 2 — The boundary of the surface is smoothly interpolated. Boundary vertices of any valence will be intepolated smoothly.
Camera
The transformation of the camera at frame 1 is written to the data file. The name of that space is __affogatofrozencamera.
fstop
The camera's F-Stop or aperture.
focaldistance
The focal distance (point of focus) in world space units.
Affogato
Attribute/Parameter Naming
Case
Parameter names are case insensitive. They get converted to lower case before being forwarded to the renderer. Parameter values are forwarded as-is. That means if you have string parameter values, case matters if the renderer is sensitive to that.
Types
Types are converted as required by the resp. target renderer. For example a RenderMan compliant renderer will convert all integer and boolean types to int and all floating point types to float.
Classes & Tokens
Underscores are used to separate classes from tokens. For example the string parameter
- transmission_opacity = "Os"
will be converted into
- Class: transmission
- Token: string opacity
- Value: Os
Parameters that don't have an underscore are assumed to be of class user. For example the bool parameter
- bananamode = true
will be converted into
- Class: user
- Token: int bananamode
- Value: 1
Categories
Add info about light categories affogato property.
Motion Blur Sampling
transformsegments
Overrides the number of motion segments the object's transformations are sampled with. A value of 0 turns transformation motion blur off for the resp. object.
deformsegments
Overrides the number of motion segments the object's deformations are sampled with. A value of 0 turns deformation motion blur off for the resp. object.
grouping
membership (String)
This is used for trace group membership. All objects are automagically added to trace groups with the names of any groups they are members of as well as a group with their own name.
For example, an object called cube that is member of the groups Group1 and Group2 will by default be member of the trace groups cube, Group1 and Group2.
shading
matte (Boolean)
A boolean parameter on an affogato property called shading_matte, when set to True, will make the object it is applied to a 'matte object' (also known as a 'black hole').
surface (String)
displacement (String)
volume (String)
particle
type (Integer)
Add an integer parameter named "particle_type" with one of the following values:
- 0 — particle : the riPoint primitive (one shading sample per particle)
- 1 — disc : primitive discs
- 2 — sphere : primitive spheres
- 3 — blobby : blobby system partitioned by 'blobbyid' data in either a particleAttribute or UserDataMap parameter. The partitioning allows one to select which blobs stick together and which don't.
- 4 — sprite : primitive square patches
Geometry
PrefTime
The time at which to sample the reference geometry. If this attribute exists, Affogato assumes the user wants reference geometry to be attached.
Reference geometry is written out to a variable called __Pref.
Special Nulls
Some special names are recognized by Affogato. These are only recognized when a null is named like this. Other primitive types with these names won't undergo special treatment.
__options
Any parameters under a property starting with 'affogato' found under a null with the name __options will be written out as global options. Options are frame global and can't be overwritten on a per object basis.
This can e.g. be used to instance an imager shader.
__attributes
Any parameters under a property starting with 'affogato' found under a null with the name __attributes will be written out as global attributes that are applied to all objects. The attributes are global but can be overwritten on a per object basis.
__frontplane
When Front Plane is checked in the globals and this object exists, Affogato will create a geometry at the camera's near clippling plane. Any shaders attached to a null with this name will get attached to this geometry.
This allows e.g. to add special lens- or lens flare shaders.
__backplane
When Back Plane is checked in the globals and this object exists, Affogato will create a geometry at the camera's far clipping plane. Any shaders attached to a null with this name will get attached to this geometry.
This allows to add special background shaders or might be useful to fill a frame with an atmosphere (shader) everywhere.
notes
maybe could do with some info about:
subsurface control attribute :
- string visibility_subsurface = "subsurfaceTraceSetName"
light categories
- string category = "key|back|fill|envlight|whatever"
blobby prim spheres

