Caution : The GafferML features introduced in this release are considered experimental, and are not subject to the usual backwards compatibility guarantees that apply to the rest of Gaffer.
Features
- GafferML : Added a new module with the following nodes for running machine learning models via ONNX Runtime :
- DataToTensor : Converts Gaffer data to tensors.
- Inference : Loads ONNX models and performs inference using an array of input tensors.
- ImageToTensor : Converts images to tensors for use with the Inference node.
- TensorToImage : Converts tensors back to images following inference.
- VisualiserTool : Added tool to 3D viewer for visualising primitive variables on meshes.
Improvements
- MergeScenes : Removed unnecessary temporary contexts.
- RenderPassEditor :
- Added support for entering custom values in the
Type
column. Custom types can be later configured with a downstream NameSwitch selecting based on the value of therenderPass:type
option. - Columns that edit options now include the option name in their header tooltip.
- Improved description of
render:cameraExclusions
andrender:matteExclusions
options.
- Added support for entering custom values in the
Fixes
- MergeScenes : Fixed bug handling input connections not originating from the output of another node. These could cause locations provided by other inputs to lose all their properties.
- PathFilter : Fixed bug allowing dropping paths onto read-only
PathFilter
nodes in the graph. - VectorDataWidget : Fixed bug allowing dropping paths onto read-only widgets.
- GraphEditor : Fixed errors when dragging an unknown file type into the GraphEditor.
- Widget : Fixed
event.sourceWidget
for DragDropEvents generated from a Qt native drag within the same Gaffer process. This will now reference theGafferUI.Widget
that the Qt source widget belongs to, if any. - Catalogue : Fixed bug which "stole" drags that crossed the image listing but which were destined elsewhere, for instance a drag from the HierarchyView to a PathFilter in the GraphEditor.
- GadgetWidget : Fixed signal handling bug in
setViewportGadget()
. This could cause the widget to attempt to redraw unnecessarily when the old viewport requested a redraw. - EditScope : Fixed error updating the Global Edit Target in read-only files.
- RandomChoice : Fixed errors right-clicking on non-value plugs in the NodeEditor.
API
- PlugLayout : Activations may now depend on the presence of certain plugs, as they are now reevaluated when child plugs are added and removed.
- IECoreArnold::ShaderNetworkAlgo : Added a new API to allow just-in-time substitutions to be made when translating shaders to Arnold. Use with care.