1.5.5.0

Features

  • Parent, Duplicate, Scatter : Added copySourceAttributes plug, to preserve inherited attributes when the destination is not parented below the source.

  • PromotePointInstances : Added a new node for selectively converting a subset of a USD PointInstancer to expanded “hero” geometry.

  • Annotations :

    • Added copy and paste of annotations. The right-click menu of an annotation allows you to copy the annotation. Pressing Control + V in the Node Editor will paste the annotation to the selected nodes.

    • Double clicking on an annotation now pops up the annotation editor dialogue.

Improvements

  • RenderPassEditor : Added ability to rename a render pass within the edit scope it was originally created in. A render pass can be renamed from the “Name” column via the “Rename Selected Render Pass…” menu item, double clicking on a cell or selecting a cell and pressing Enter or Return.

  • VisualiserTool :

    • Changed naming requirements for visualising primitive variables. Values in dataName now prefix the primitive variable name with primitiveVariable:. Setting dataName to vertex:index will display vertex indices.

    • Added mode plug. The available modes are :

      • Auto : Chooses the most appropriate mode based on the data and primitive type.

      • Color (Auto Range) : Float, integer, V2f and color data is displayed without modification. Vector data is remapped from [-1, 1] to [0, 1].

      • Color : Values are remapped from the range [valueMin, valueMax] to [0, 1].

      • Vertex Label : Values are displayed as a label next to each vertex.

    • When visualising data as vertex labels, the value for the vertex nearest the mouse cursor gets visual emphasis. This value is also used for drag and drop.

  • PrimitiveVariableTweaks : Added invertSelection plug.

  • Tweaks nodes : Added automatic conversion between numeric types. For example, an integer tweak value can now be applied to a float.

  • SceneWriter : Improved performance. Benchmarks rewriting complex scenes via a SceneReader->SceneWriter graph show around a 2x speedup.

  • USDLayerWriter : Improved performance, including a 50x speedup for one benchmark.

  • RenderPassMenu : Added configuration of the default state of “Hide Disabled” and “Display Grouped” via renderPassPlugValueWidget:hideDisabled and renderPassPlugValueWidget:displayGrouped metadata registered in a startup file. For example, “Hide Disabled” can be enabled with the following registration Gaffer.Metadata.registerValue( Gaffer.ScriptNode, "variables.renderPass.value", "renderPassPlugValueWidget:hideDisabled", True ).

Fixes

  • ContactSheetCore : Fixed bugs handling changes to the input and output image formats.

  • InteractiveRender : Fixed potential leak of scene:path context variable when computing the value for resolvedRenderer.

  • Dispatch app : Fixed poor UI layout in “Completed” dialogue state (#6244).

  • RenderPassEditor : Fixed errors when script is not parented to an Application.

  • MessageWidget : Fixed bug preventing the horizontal scroll bar from appearing when displaying messages with long lines.

  • VectorDataWidget, VectorDataPlugValueWidget : Fixed bug preventing dropping a single value onto the + and - buttons and the plug name.

API

  • EditScopeAlgo : Added renameRenderPass() and renameRenderPassNonEditableReason() functions.

  • SceneAlgo : Added parallelGatherLocations() function.

  • GraphGadget : Added annotationsGadget() function.

  • MetadataAlgo : Added annotations() variant accepting Gaffer::Metadata::RegistrationTypes. The default is All to match existing behavior and the previous annotations() variant is deprecated.

  • AnnotationsGadget : Added annotationAt() function.

  • AnnotationUI : Added contextMenuSignal() allowing customisations to the context menu for annotations.