Reference/Attributes

From Affogato

Jump to: navigation, search

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

Personal tools