1.5.2.0
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.
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.