Node Library User Guide

Library information is organized into various node groups with associated node definitions.

Shown here is an interactive "template" of the 'card UI' used to display node definition information. Attributes are shown as rows. Various definition information can be shown/hidden by clicking the section tabs ( / )

Within the card template below are explanations for how to read attribute values and what their usage is. These can be found within the colored boxes

For brevity, only essential API calls shown in the template. Otherwise the attribute names used indicate which attribute is examined. Also, only the non-inherited inputs and outputs are shown per node definition.


Category Section

For each category ('node' attribute) one or more implementations may be shown. In this template only one is shown.

Category: 'node'
Definition Name: 'name'
Definition Section

For each definition one or more reference images may be shown in the order that the outputs are listed.


...


Type The output type. If there is more than one output then 'multioutput' is shown.

Type


Node Group What node group is this node a part of.

Node Group


Versioning / InheritanceThe version for this definition, whether it is the default version and whether it inherits from another definition.

Version 'version' ( 'isdefault' ) Inherits From


DescriptionDefinition description

Description:

Code / Node Graph Implementation Sections

Either code or node graph implementations are displayed depending on the node definition.

'Code implementation' shows which languages are implemented and where the code is stored or generated.

  • If it's inlined source code it is shown directly on this page.
  • If the code is stored in a file, a link to the file is given
  • If the code is generated by a code generator for a given 'target' then 'Via Code Generation' is shown. (e.g. position)
'Function' is the name of the function to look for within the source code.

Alternatively, the node graph sections shows the graph for the node definition. The "Draw Graph" button can be selected to draw the graph. Additionally, users can copy the Mermaid graph using 'Copy Graph' to the Graph Visualizer utility to examine, customize, and save as desired.


Code Implementation getImplementation()





Node Graph getImplementation()



Inputs and Outputs Section
The input and output parameters / ports are listed as a list of buttons, with outputs labelled with bold text. A user can select a port to display port details. A single example of an input and and output are shown.

Select the input or output buttons to see the differences between input and output attributes.
Parameters: getValueElements()

UniformA checkbox is used to indicate if the input values are expected to be uniform or varying.



Enumerations

Set of possible named values for an enumeration shown in open dropdown menus, with string labels on the left and if it exists, any associated numeric value on the right. 'Lama Conductor' 'fresnelMode' input is an example.



Colors Color values are in have no assumed range or representation. The associated color swatch provides a visual in RGB space for reference. Input colorspace is shown if specified.


Floats and VectorsVector values are shown in the fields in x, y z and w order. Float values show a single field.

MatricesMatrix values are shown in row major order.


Real World Units

Vectors and matrices may have an optional `unit` and `unit` type specified. For example the rotation amount for place2d is specified as an angle in degrees.



Default geometryGeometry specified to be bound by default is optional. The name of a built in semantic name such as 'Nworld' (normals in world space) is shown.


A checkbox is shown to represent a boolean type. A filled in checkbox means true and an unfilled one means false.


UI attributes UI attribute hint are shown in a row with each field value corresponds to 1st name / -> 2nd name / -> 3rd name /. A checkbox is shown if the input is considered 'advanced'.