Releases: GafferHQ/gaffer
Releases · GafferHQ/gaffer
Gaffer 1.5.8.0
Features
- ShuffleImageMetadata : Added a new node for shuffling image metadata.
Improvements
- CyclesAttributes : Added
volumePrecision
andvolumeVelocityScale
plugs.
Fixes
- Cryptomatte : Fixed handling of PxrCryptomatte output, and other files with less conventional metadata formatting.
- VisualiserTool : Changed viewer shortcut to L to fix conflict with the pinning shortcut.
- RenderPassMenu : Fixed handling of the addition and removal of the render pass plug.
- Cycles : Fixed crash when rendering volumes (#5824).
Gaffer 1.5.7.0
Features
- USDLight : Added Cycles-specific light parameters.
- USD : Added automatic expansion of USD PointInstancers at render time.
- This can be controlled on a per-instancer basis using a
gafferUSD:pointInstancerAdaptor:enabled
boolean attribute. - Which point cloud primitive variables are promoted to user attributes can be controlled using a
gafferUSD:pointInstancerAdaptor:attributes
string attribute. - May be disabled entirely with
GafferScene.SceneAlgo.deregisterRenderAdaptor( "USDPointInstancerAdaptor" )
.
- This can be controlled on a per-instancer basis using a
- Viewer : Added "Expand USD Instancers" item to the Expansion menu. Defaults to on for all renderers except OpenGL.
- Instancer : Added support for prototype paths that are relative to an instancer. When using the same scene connected to both
in
andprototypes
, this allows relocating an instancer together with its prototypes to a different location in the hierarchy. Prototype paths beginning with "./" are treated as relative, or you can set the environment variableGAFFERSCENE_INSTANCER_EXPLICIT_ABSOLUTE_PATHS
to treat any path not beginning with "/" as relative (this may be the default in the future).
Improvements
- 3Delight : Added light muting support.
- Arnold : Added support for specifying the name of a shader in the node menu using Arnold's
ui.name
metadata. This improves the formatting of the OpenPBR Surface menu item. - VisualiserTool : Added new visualisation for vector (V3f) data.
- The
vectorScale
plug can be used to scale the vector line. The Shift + + and Shift + - keyboard shortcuts can also be used to change the scale. - The
vectorColor
plug can be used to change the color of the vector line. - The vector value being visualised for the vertex nearest the cursor is shown next to the vertex.
- The
- NameSwitch : Added
enabledNames
output plug. - ColorSwatchPlugValueWidget : Changed the display transform of the color chooser dialogue to match that of the
ColorSwatchPlugValueWidget
creating it instead of the script window. - Instancer : Improved hashing of instancer capsules. Prevents unnecessary recomputation of instancers when editing something unrelated.
Fixes
- SceneWriter : Fixed writing of animated attributes and bounds to USD.
- NumericPlug : Fixed serialisation of plugs with infinite min/max values, for example the promoted outputs of an ImageStats node.
- VisualiserTool : Changed viewer shortcut to P to fix conflict with the Transform Tool.
- Render Pass menu : Fixed bug evaluating image nodes in wrong context.
- Instancer : Fixed obscure bug that could occasionally cause errors while interactively editing prototype hierarchy.
API
- Attributes, Options : Added protected constructors for initialising from attributes/options defined by metadata.
- ShaderUI : Added support for
noduleLayout:visible
andnoduleLayout:defaultVisibility
metadata, which can be registered via the Metadata API in the same way asuserDefault
.
Build
- Cortex : Updated to version 10.5.13.0.
Gaffer 1.5.6.0
Features
- AttributeEditor, LightEditor, RenderPassEditor : Added drag and drop editing. Edits can be created or updated by dropping a value into a cell. Cells representing a set expression or string array can be modified by holding Shift to append to an existing edit, or Control may be held to remove from an existing edit.
Improvements
- ArnoldShader : Moved Arnold 7.3.7.0's new
transmission_shadow_density
parameters to a "Transmission" section of the UI.
Fixes
- StandardNodeGadget : Fixed crash when animating a node's
enabled
plug (#6274).
API
- SceneAlgo :
- Added
parallelReduceLocations()
for implementing functions that need to combine results while traversing a ScenePlug. - Added
hierarchyHash()
for hashing all children of a scene location.
- Added
- PathColumn : Added
dragEnterSignal()
,dragMoveSignal()
,dragLeaveSignal()
anddropSignal()
.
Gaffer 1.5.5.0
Features
- Parent, Duplicate, Scatter : Added
copySourceAttributes
plug, to preserve inherited attributes when thedestination
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 withprimitiveVariable:
. SettingdataName
tovertex: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.
- Changed naming requirements for visualising primitive variables. Values in
- 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
andrenderPassPlugValueWidget:displayGrouped
metadata registered in a startup file. For example, "Hide Disabled" can be enabled with the following registrationGaffer.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 forresolvedRenderer
. - 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()
andrenameRenderPassNonEditableReason()
functions. - SceneAlgo : Added
parallelGatherLocations()
function. - GraphGadget : Added
annotationsGadget()
function. - MetadataAlgo : Added
annotations()
variant acceptingGaffer::Metadata::RegistrationTypes
. The default isAll
to match existing behavior and the previousannotations()
variant is deprecated. - AnnotationsGadget : Added
annotationAt()
function. - AnnotationUI : Added
contextMenuSignal()
allowing customisations to the context menu for annotations.
Gaffer 1.4.15.6
Fixes
- 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.
Gaffer 1.5.4.1
Fixes
- OpenColorIO : Fixed UI Display Transform, which was not being applied correctly when a script was loaded.
- LocalJobs : Fixed shutdown confirmation dialogue, which was no longer being shown when there were unfinished local jobs running.
- Dispatch app : Fixed configuration bug which caused GafferSceneUI to be loaded unnecessarily (#6239).
API
- ScriptWindow : Added
instanceCreatedSignal()
.
Gaffer 1.5.4.0
Features
- HierarchyView : Added ability to store and recall the Visible Set in named bookmarks that are saved with the script.
- TensorToMesh : Added new ML node for converting a suitable tensor into a 3d mesh.
Improvements
- AttributeEditor : Added "Select Affected Objects" menu item to the "Linked Lights" and Arnold "Shadow Group" columns.
- AttributeEditor, LightEditor, RenderPassEditor : Added Ctrl + Enter shortcut to edit the selected cells, enabling the edit if necessary.
- ScriptNode : Added support for serialising metadata registered on a ScriptNode.
Fixes
- AttributeEditor : Fixed display of fallback value for
linkedLights
attribute. - AttributeEditor, LightEditor, RenderPassEditor :
- Fixed bugs which prevented edits being made in "Source" scope when there was a downstream edit in an EditScope (#6172).
- Fixed warning messages when attempting to disable a non-existent edit.
- Fixed warning message which referred to "None" rather than the "Source" scope.
- PythonEditor : Fixed bug preventing values from being inserted when dragging most VectorData types into the PythonEditor.
API
- RenderPassEditor : Added optional
index
argument toregisterOption()
andregisterColumn()
. This can be used to specify the column's position in the UI. - Metadata : Added
targetsWithMetadata()
function, returning all the string targets which match a pattern and have a specific metadata key. - VisibleSetData : Implemented
save()
andload()
. - ScriptNodeAlgo : Added functions for managing VisibleSet bookmarks.
Gaffer 1.4.15.5
Fixes
- PythonEditor : Fixed bug preventing values from being inserted when dragging most VectorData types into the PythonEditor.
Gaffer 1.5.3.0
Features
- PrimitiveVariableTweaks : Added node for tweaking primitive variables. Can affect just part of a primitive based on ids or a mask.
- Menu Bar : Added a "Render Pass" menu to the Menu Bar that can be used to choose the current render pass from those provided by the focus node.
Improvements
- Shader, ShaderPlug : Added support for ContextProcessor, Loop and Spreadsheet nodes to be used inline between shader nodes and as the terminal node connected to
ShaderAssignment and other shader-consuming nodes. - VisualiserTool : Changed
dataName
input widget for choosing the primitive variable to visualise to a list of available variable names for the current selection. - Tweaks nodes : Moved list of tweaks to a collapsible "Tweaks" section in the NodeEditor.
- Viewer :
- The shading mode menu icon now updates to indicate when a non-default shading mode is in use.
- Added the ability to toggle between default shading and the last selected shading mode by Ctrl + clicking the shading mode menu button.
- PythonEditor : Added workaround for slow code completion caused by poorly performing Python property getters.
- PlugLayout :
- A warning widget is now displayed when an invalid custom widget is registered.
layout:customWidget:<name>:width
andlayout:customWidget:<name>:minimumWidth
metadata registrations are now supported for custom widgets.
- RenderPassEditor :
- Render passes deleted or disabled by render adaptors registered to
client = "RenderPassWedge"
are now shown as disabled. To differentiate these from user disabled render passes, an orange dot is shown in the corner of the disabled icon and the tooltip describes them as automatically disabled. - Changing the current render pass is now undoable.
- Render passes deleted or disabled by render adaptors registered to
Fixes
- VisualiserTool :
- Fixed bug where the value dragged from the visualiser would be slightly different from the initial value on button press (#6191).
- Fixed error when trying to visualise data unsupported data.
- TweakPlug : Fixed preservation of geometric interpretation when tweaking V3f values.
- Shader :
- Fixed handling of multiple consecutive Switch nodes in a shader network.
- Fixed leak of private
scene:shader:outputParameter
context variable.
- ApplicationTest : Extended grace period when testing process name on slower hosts.
- OpDialogue : Fixed
DefaultButton
handling.
API
- TweakPlug : Added
applyElementwiseTweak()
method, for tweaking elements of a*VectorData
. - IECoreArnold, IECoreDelight : Added support for config files installed on
GAFFER_STARTUP_PATHS
. - IECoreArnold::ShaderNetworkAlgo : Added
attributeName
arguments toSubstitutionFunction
andSubstitutionHashFunction
. This is an ABI break, which would not normally be allowed without a change of major version. We are making a rare exception in this case, with the following justifications :- The API is esoteric and was introduced extremely recently, so we believe nobody to be depending on it yet.
- Without the ABI change, the API isn't usable for its original intended purpose anyway.
- Backward compatibility is not trivial to maintain in this case.
- PlugAlgo : Added
contextSensitiveSource()
method. - ShaderPlug : Added Python binding for
parameterSource()
method. - ScriptNodeAlgo : Added
setCurrentRenderPass()
,getCurrentRenderPass()
, andacquireRenderPassPlug()
methods.
Gaffer 1.4.15.4
Fixes
- USDLayerWriter :
- Fixed silent failures when unable to create the output file (#6197).
- Fixed leak of
usdLayerWriter:fileName
context variable.
- PathFilter :
- Fixed bug preventing display of "Select Affected Objects" menu item in the row name column of promoted Spreadsheets.
- Fixed bug preventing use of "Select Affected Objects" menu item in the row name column of Spreadsheets with
enabledRowNames
connected to thepaths
plug of a PathFilter. - Fixed error when using "Select Affected Objects" on Spreadsheet cells connected to the
paths
plug of a PathFilter.