Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Fancy Bullets
  • Basic types: int, bool, float, Color (3 float RGB), AColor (4 float ARGB), Vector (3 float), Matrix (3 Vectors, column-major), Transform (a Matrix and a Vector for translation) and string (UTF-8).
  • Objects: references to other plugin instances
  • Typed lists: The typed lists in AppSDK are IntList, FloatList, ColorList, VectorList, TransformList and VectorListPluginList.
  • Generic heterogeneous lists: The C++ binding uses a generic type class called Value for items in a generic list. The .Net binding uses IList<object> and Python and Node.js use their native heterogeneous arrays/lists. Generic lists can be nested.
  • Output parameters: These are additional values generated by a given plugin which may be used as input by others. For example the the TexAColorOp plugin plugin (discussed later in the Textures lessons) can be referenced directly as a texture, resulting in its default AColor texture output, but you can also refer to any of its other outputs, like sum, difference, maximum etc. for different results.

...

  • The Plugin object itself, set as a value of another Plugin property (parameter) can be used as a reference to the Plugin default output and the PluginRef type is used as a reference to an alternative output.

Manipulating parameters

...

The Plugin class discussed in the previous chapter provides convenient getters and setters. In the strongly typed C++ and C# bindings these are members of the specialized plugin classes derived from the base Plugin class. There are also generic methods in the base class. In the dynamic Python and Node.js languages the parameters are exposed as dictionaries on the Plugin objects. A very important point when dealing with parameter values is that all getters return copies of the underlying data in the render engine. If you make changes to them you are not making changes to the actual scene. Changes are applied only when you pass them back to the setter.

...