PassΒΆ

class Pass

A render pass reacts to renders by pushing jobs into a job queue.

Each job is not necessarily a render, but can be various process to build data for a render (such as building a texture from a tiff file, compositing buffers, etc.)

Hierarchy

class Pass < class RenderOutput < class Node

Children classes : class Compositing , class RenderPass

Members

Plugs:

types.bool Disabled RW Disables the rendering of this layer when true
types.bool NextTime RW Render the render pass next time, whatever its solo and Disable states
types.enum PassValidity RW How should the Pass be scheduled (per frame, per sequence, manually)
types.bool Solo RW Is the Pass in the solo mode ?

Methods:

string result evalfilename ( string output , number eye , number frame , number side , string ext ) Evaluate the output file name of the Pass
nil fillrenderpasstemplate ( table template ) Fill a property sheet template
bool result isrenderable ( ) Returns true if the render pass will be rendered by the next render command according to the PassValidity, the Disabled and the Solo plugs.


Inherited from class RenderOutput

Plugs:

string FileName RW The user file name for this pass
string PassFileName RW The final pass file name, depending on FileName


Inherited from class Node

Plugs:

string Name RW The node name

Methods:

bool result belongstoreference ( Reference ref ) Tells if the node belongs to the reference, or a sub reference
nil delete ( ) Delete a node
any value eval ( Plug plug ) Called by the framework when plug (a node's plug) must be evaluated
Node|Plug child findchild ( string path ) Find a child node or plug using a path
Node parent findparent ( string name ) Find the first parent Node of this Node of a specific class
Node result getchild ( string name ) Get a child node by its name
[string|number] name getname ( ) Get the Node name in its parent
Node parent getparent ( ) Get the parent Node of this Node
string path getpath ( ) Returns the node path as a string that can be reused with findchild
Reference reference getreference ( ) Returns the reference node it is connected to
of table getreferences ( [ topref Reference ] ) Returns the references in the document sorted depth first.
string result getstringcopy ( ) Return a copy of the node and its content as a string to be pasted
boolean editable iseditable ( ) Indicates if the node can be edited by the user in the UI
bool result ismoveable ( ) Tells if the node can be moved
boolean result isparent ( Node child ) Tells if this node is parent of the potential child
boolean result isreference ( ) Tells if a node comes from a reference project
boolean state isselected ( ) Tell if the node is selected
{Node} result loadfile ( string filename ) load a file content in this node.
Node result loadtemplate ( string template , string name ) load a template file
nil move ( Node parent ) Move a node to a new parent
nil onpathchanged ( ) Called by the framework when the name of this node or of one of its parent is modified
{Node},string result,error pastestringcopy ( string copy ) Paste a string copy into this node
nil rename ( string name ) Rename a node
bool,string success,error savefile ( string filename ) load a node to a file
nil seteditable ( boolean editable ) Change the editable state of the node
nil setflags ( ) Set the node flags

Documentation

types.bool Disabled RW

Disables the rendering of this layer when true


types.bool NextTime RW

Render the render pass next time, whatever its solo and Disable states


types.enum PassValidity RW

How should the Pass be scheduled (per frame, per sequence, manually)


types.bool Solo RW

Is the Pass in the solo mode ?

If at least one render pass is in the solo mode, only those passes will be computed. If no render pass are in the solo mode, all the render passes are computed.

string result evalfilename ( string output , number eye , number frame , number side , string ext )

Evaluate the output file name of the Pass

The final final of the Pass is evaluated using the given arguments, such as the name of the output (for Layers), the eye number, the frame number, the side (for CubeMaps and Omni ShadowMaps), and the file extension.

If the Pass FileName plug is left blank, then the Pass will pick a default name. This default name is a combination of $l, $o, $e, $f, $s and $x. For instance, a normal Layer, rendered on each frame will have a default file name of $l_$o_$e_$05f.$x

Depending on the passed arguments, these $* items will be replaced. If an argument is missing, then matching the value is left as is, and it is the duty of the renderer to correctly replace this value. For instance, leaving the frame as nil will leave any $f as is. Note that $l is always replaced by the Pass path, stripped of any illegal character.

Ex:
Let's assume that:

  • the pass raw filename is $l_$o_$05f.$x
  • the pass path is "MyPass"
  • the pass default extension is 'tiff'
then pass:evalfilename ("MyOutput", 1, nil) will return MyPass_MyOutput_$05f.tiff
Arguments:

  • output The selected sub output, only for image Layers
  • eye The eye number, starting from 1
  • frame The frame number. Use Pass.CurrentFrame to evaluate as the current frame
  • side The cube side number.
  • ext The file extension to use.

Return:

  • result The final renderpass filename


nil fillrenderpasstemplate ( table template )

Fill a property sheet template

Arguments:

  • template The template to fill with the Pass attributes


bool result isrenderable ( )

Returns true if the render pass will be rendered by the next render command according to the PassValidity, the Disabled and the Solo plugs.

Return:

  • result rendered next time