Skip to content

Releases: GafferHQ/gaffer

Gaffer 1.6.0.0

28 Aug 20:53
7a621b7
Compare
Choose a tag to compare

Features

  • DiskBlur : Added image node for doing fast variable-radius blur.
  • FocalBlur : Added image node for approximating depth of field effects based on an image with a depth channel.
  • Arnold : Added multi-layer EXR support. All outputs with the same filename are now written to the same file via a single output driver.
  • ImageSelectionTool :
    • Added new tool that allows selecting scene paths based on an image. Works with both Catalogue images and images on disk. Has two requirements : an id AOV (added using the ID preset on an Outputs node), and a render manifest (added using StandardOptions > Render Manifest > File Path ).
    • Also supports picking instance IDs, using an instanceID aov. Supported when rendering an instancer that is encapsulated ( USD instancers rendered to Arnold are encapsulated by default ).
  • ColorInspectorTool : Moved the Viewer's colour inspectors into a dedicated tool, selected from the toolbar on the left.
  • OSLObject : Added the ability to use pointcloud_search() and pointcloud_get() to query geometry from arbitrary scene locations.
  • CameraQuery : Added a new node to query camera parameters (#6431).
  • Cycles : Updated to version 4.4.0.
  • SceneInspector :
    • Rewrote using the same framework as LightEditor, AttributeEditor and RenderPassEditor.
    • Added EditScope support, with in-place editing of attributes, options and shader parameters. Editing for other properties is planned for future versions.
    • Improved comparison abilities, including the added ability to compare two render passes.
    • Added subsections for options and attributes, splitting them by category.
    • Added column resizing, including automatic resizing to show long attribute names.
    • Added inspection of all shaders and parameters in shader networks.
    • Added more detailed inspection of meshes and curves.
    • Added more detailed inspection of primitive variables.
    • Added more detailed inspection of OpenVDB grids.

Improvements

  • Viewer : Added Add image comparison mode.
  • RenderMan :
    • Added dedicated viewport visualisers for RenderMan lights.
    • Removed the GAFFERRENDERMAN_FEATURE_PREVIEW environment variable. The RenderMan extension is now automatically enabled any time the RMANTREE environment variable is present. While the RenderMan extension is not yet feature complete, it is considered to be mature enough for general use.
  • Arnold : Improved readability of shader node names as they appear in statistics and .ass files. They are now formatted as shader:{handle}:{uniqueId} where {handle} is the Gaffer node name of the assigned shader, or if loaded from USD, the prim name.
  • DeleteAttributes : Optimised case where all attributes are deleted. The input attributes are no longer accessed at all in this case.
  • ShaderAssignment : The scene:path context variable is now available in Switches connected directly to the ShaderAssignment.shader input. This allows different shaders to be assigned to different locations using a single ShaderAssignment node. Please note that the scene:path context variable remains unavailable to the individual shader nodes themselves for performance reasons.
  • 3Delight, Cycles, OpenGL : Added support for custom EXR metadata, using header:* parameters on the output definition.
  • RenderManAttributes, RenderManOptions : Plugs now respect minimum and maximum values specified by RenderMan.
  • RenderManShader : Improved GraphEditor labels for parameter RGB and XYZ components.
  • Cycles :
    • Improved responsiveness for Viewer camera updates when using Cycles as the viewport renderer. One benchmark shows around a 10x improvement in frame rate.
    • Added support for layerName parameter in outputs, to control the naming of channels in EXR outputs.
  • StandardOptions :
    • Added render manifest option.
    • Added render:cameraInclusions, render:cameraExclusions, render:matteInclusions, and render:matteExclusions options.
  • CyclesMeshLight : Improved presentation of cameraVisibility and lightGroup plugs in the Node Editor.
  • VisualiserTool : Added visualisation of labels for uniform primitive variables, face indices and curve indices.
  • PathListingWidget :
    • Improved formatting of Box and Matrix values.
    • Improved performance when showing colour values.
    • Added support for showing spline values.
    • Improved formatting of TypedVectorData.
  • GafferUI : Added support for drag and dropping numeric vector data onto numeric vector plugs of compatible types (for example, dropping a list of integers onto a FloatVectorDataPlug).
  • Switch : Optimised disabled switches using a direct internal connection, even when the index is not constant.
  • PrimitiveInspector : Added location widget for selecting the location to be inspected.
  • OptionalValuePlugValueWidget : The widget for the enabled plug can now be customised using plugValueWidget:type metadata.
  • GafferML : Added experimental support for performing inference on CUDA devices. This can be enabled by setting the GAFFERML_USE_CUDA environment variable with a value of 1. This requires an ONNX runtime containing the CUDA execution provider, with compatible versions of the CUDA toolkit and cuDNN installed.
  • ShaderTweaks :
    • Added support for inserting new connections in Create mode.
    • Added initial support for inserting connections to closure parameters (#6522).
    • Added dragging of plugs onto the + button in the NodeEditor, to create a tweak for values of that type. Particularly useful for making tweaks for closure parameters.
  • LocaliseAttributes : Added support for localising global attributes, controlled by the new includeGlobalAttributes plug.
  • AttributeTweaks, ShaderTweaks : Global attributes are now localised when localise is enabled and no matching attribute is found at the target location or any of its ancestors.
  • AttributeQuery, ShaderQuery : Global attributes are now queried when inherit is enabled and no matching attribute is found at the target location or any of its ancestors.
  • SphereLevelSet : Improved performance when evaluating the bounding box.
  • RenderPassMenu : Added a search menu which displays only the render passes matching the search text. The search menu can be disabled by registering the following metadata in a startup file. Gaffer.Metadata.registerValue( Gaffer.ScriptNode, "variables.renderPass.value", "renderPassPlugValueWidget:searchable", False ).
  • RenderPassEditor, AttributeEditor, LightEditor, SceneInspector : Improved presentation of VectorData types in the Inspect popup.
  • CompoundDataPlugValueWidget : Removed unnecessary nesting from the menu for adding plugs.

Fixes

  • ImageReader :
    • Fixed color-space handling for secondary RGB layers. Previously color transformations were only being applied to the main RGB channels and not to someLayer.RGB (#6524).
    • Adjusted default channelInterpretation heuristics to better match Nuke's behaviour for single-part EXR files with bogus part name metadata (#6527). In this case, the part name is no longer used as the layer name.
  • LocalDispatcher, SystemCommand, gaffer env : Fixed unwanted upper-casing of environment variable names on Windows (#6371).
  • OpenGLAttributes : The default values of attribute plugs now correctly reflect the default behaviour of the OpenGL renderer.
  • Arnold : Fixed default behaviour of ai:abort_on_license_fail option with Arnold 7.3 and above.
  • Cycles :
    • Fixed bugs handling identical cameras with different transforms.
    • Fixed handling of cycles:volume_precision attribute, which was previously being ignored.
    • Fixed bugs handling unknown VDB grid types.
    • Fixed potential crash rendering VDB objects.
    • Fixed potential threading-related crashes.
  • RenderPassEditor : Fixed default values displayed for dl:oversampling and dl:quality.shadingsamples options.
  • PlugLayout : Fixed bug resolving layout:index metadata.
  • ScriptNodeAlgo : Stopped polluting the ScriptNode context with ui:* variables. Warnings are now emitted by the UI if anything else causes similar pollution.
  • Checkerboard : Fixed crash when evaluated for non-existent channel name.
  • PathListingWidget :
    • Prevented emission of updateFinishedSignal() when a new update is pending anyway.
    • Fixed potential threading-related crash.
    • Fixed ordering of selectionChangedSignal() emission from setColumns() call. It is now emitted when getColumns() returns the new columns, not the old ones.
    • Fixed unwanted vertical scrolling caused by setColumns().
    • Columns set to automatically stretch now equally share available space when a PathListingWidget's columns are updated via setColumns().
  • LightEditor, RenderPassEditor, AttributeEditor :
    • Fixed missing history entries when two edits have the same source plug.
    • Fixed potential crashes in Show History....
    • Fixed potential UI lag in Show History....
    • Fixed flickering in history window when scrubbing the timeline.
    • Fixed unwanted vertical scrolling when switching tabs.
    • Fixed flickering when switching tabs.
  • RenderPassEditor : Fixed error when deleting a pass while a history window was open for it.
  • AttributeEditor :
    • Added missing Cycles volume attributes.
    • Renamed OpenGL "Shading" section to "Drawing", to match the NodeEditor.
  • OptionalValuePlugValueWidget : Fixed handling of keyword constructor arguments. In particular this meant that parenting arguments did not work.
  • ScenePathPlugValueWidget :
    • Fixed context used to evaluate the scene. This is now focus-aware, so the scene browser only shows locations that are available with respect to the current focus.
    • Fixed bugs that prevented usage in Editor.Settings nodes.
  • SceneReader : Fixed bug reading USD cameras without authored shutter attributes. Previously, the loaded camera would have an unwante...
Read more

Gaffer 1.5.16.2

28 Aug 20:46
9f7f333
Compare
Choose a tag to compare

Fixes

  • TweakPlug : Fixed handling of default values for name, enabled and mode child plugs during serialisation and in createCounterPart() (#6544).
  • Viewer : Fixed hangs when using the raytraced viewport.
  • SceneReader : Fixed numerical imprecision in conversion of frame to UsdTimeCode. This could cause the wrong time sample or value clip to be selected.

Gaffer 1.6.0.0 alpha 3

16 Aug 00:49
Compare
Choose a tag to compare
Pre-release

Features

  • DiskBlur : Added image node for doing fast variable-radius blur. Will be used as core of upcoming focal blur node.

Improvements

  • RenderMan : Added dedicated viewport visualisers for RenderMan lights.
  • SceneInspector :
    • Cells dragged from the "Name" column now return their name, rather than their full path 1.
    • Nodes can be pinned for comparison by dropping them onto the green "B" side of the "Scene" comparison header 1.
    • The current expansion is now preserved when enabling or disabling comparison mode 1.
  • Viewer : Added Add image comparison mode.
  • LocaliseAttributes : Added support for localising global attributes, controlled by the new includeGlobalAttributes plug.
  • AttributeTweaks, ShaderTweaks : Global attributes are now localised when localise is enabled and no matching attribute is found at the target location or any of its ancestors.
  • AttributeQuery, ShaderQuery : Global attributes are now queried when inherit is enabled and no matching attribute is found at the target location or any of its ancestors.
  • SphereLevelSet : Improved performance when evaluating the bounding box.
  • RenderPassMenu : Added a search menu which displays only the render passes matching the search text. The search menu can be disabled by registering the following metadata in a startup file. Gaffer.Metadata.registerValue( Gaffer.ScriptNode, "variables.renderPass.value", "renderPassPlugValueWidget:searchable", False ).
  • RenderPassEditor, AttributeEditor, LightEditor, SceneInspector : Improved presentation of VectorData types in the Inspect popup.
  • CompoundDataPlugValueWidget : Removed unnecessary nesting from the menu for adding plugs.

Fixes

  • ImageReader : Fixed color-space handling for secondary RGB layers. Previously color transformations were only being applied to the main RGB channels and not to someLayer.RGB (#6524).
  • PathListingWidget : Columns set to automatically stretch now equally share available space when a PathListingWidget's columns are updated via setColumns().
  • CyclesShader : Moved the principled_bsdf.diffuse_roughness parameter to a new "Diffuse" section in the Node Editor 1.
  • ContextQuery : Removed Create Context Query... menu item from plugs where it was not relevant.
  • Menu : Executing a non-searchable menu item from a searchable menu no longer causes it to appear as the last used action in the menu's search field.

API

  • ScenePlug : Added optional withGlobalAttributes arguments to fullAttributes() and fullAttributesHash().
  • VectorDataWidget : Added optional maximumVisibleRows argument.

Breaking Changes

  • StandardLightVisualiser : Removed protected methods for drawing visualiser elements. These are now part of GafferSceneUI::Private::LightVisualiserAlgo. This namespace can be used by light visualisers, but is currently Private while the API details are being resolved.
  • AttributeTweaks : Tweaks with localise enabled and a mode of CreateIfMissing will now not create an attribute if it is missing from the scene hierarchy, but exists in the globals.
  • AttributeQuery : Queries with inherit enabled will now return a result when querying an attribute that does not exist in the scene hierarchy, but does exist in the globals.
  1. To be omitted from the notes for the final 1.6.0.0 release. 2 3 4

Gaffer 1.6.0.0 alpha 2

06 Aug 01:01
Compare
Choose a tag to compare
Pre-release

Note : This release addresses the known issues from 1.6.0.0a1 and is recommended for user testing.

Features

  • SceneInspector :
    • Rewrote using the same framework as LightEditor, AttributeEditor and RenderPassEditor.
    • Added EditScope support, with in-place editing of attributes, options and shader parameters. Editing for other properties is planned for future versions.
    • Improved comparison abilities, including the added ability to compare two render passes.
    • Added subsections for options and attributes, splitting them by category.
    • Added column resizing, including automatic resizing to show long attribute names.
    • Added inspection of all shaders and parameters in shader networks.
    • Added more detailed inspection of meshes and curves.
    • Added more detailed inspection of primitive variables.

Improvements

  • Arnold : Improved readability of shader node names as they appear in statistics and .ass files. They are now formatted as shader:{handle}:{uniqueId} where {handle} is the Gaffer node name of the assigned shader, or if loaded from USD, the prim name.
  • PrimitiveInspector : Added location widget for selecting the location to be inspected.
  • OptionalValuePlugValueWidget : The widget for the enabled plug can now be customised using plugValueWidget:type metadata.
  • PathListingWidget : Improved formatting of TypedVectorData.

Fixes

  • Arnold : Fixed crashes caused by conflicts with Arnold's internal memory allocator 1.
  • PathListingWidget :
    • Fixed ordering of selectionChangedSignal() emission from setColumns() call. It is now emitted when getColumns() returns the new columns, not the old ones.
    • Fixed unwanted vertical scrolling caused by setColumns().
  • LightEditor, RenderPassEditor, AttributeEditor :
    • Fixed unwanted vertical scrolling when switching tabs.
    • Fixed flickering when switching tabs.
  • Node menu : Fixed laggy search behaviour 1.

API

  • Path : Added contextProperty() method.

Breaking Changes

  • Arnold : Changed the naming of shader nodes in the generated Arnold scene.
  • Path : Removed inspectionContext() method. Use contextProperty( "inspector:context" ) instead.
  • SceneInspector :
    • Removed setTargetPaths() and getTargetPaths() methods. Use the location and compare.location settings plugs instead.
    • Removed registerSection() method.
    • Removed Diff, SideBySideDiff, TextDiff, Row, Inspector, DiffRow, DiffColumn, Section, LocationSection, HistorySection and SetsSection classes.
  1. To be omitted from the notes for the final 1.6.0.0 release. 2

Gaffer 1.6.0.0 alpha 1

25 Jul 07:49
Compare
Choose a tag to compare
Pre-release

Caution : This release is not recommended for user testing. It is being provided primarily to allow early pipeline integration, such as adjusting to API changes and dependency updates. See Known Issues below.

Known Issues

  • Node menu : Laggy search behaviour caused by the latest Qt update.
  • Arnold : Crashes related to recent dependency updates.

Features

  • Arnold : Added multi-layer EXR support. All outputs with the same filename are now written to the same file via a single output driver.
  • ImageSelectionTool :
    • Added new tool that allows selecting scene paths based on an image. Works with both Catalogue images and images on disk. Has two requirements : an id AOV (added using the ID preset on an Outputs node), and a render manifest (added using StandardOptions > Render Manifest > File Path ).
    • Also supports picking instance IDs, using an instanceID aov. Supported when rendering an instancer that is encapsulated ( USD instancers rendered to Arnold are encapsulated by default ).
  • ColorInspectorTool : Moved the Viewer's colour inspectors into a dedicated tool, selected from the toolbar on the left.
  • OSLObject : Added the ability to use pointcloud_search() and pointcloud_get() to query geometry from arbitrary scene locations.
  • CameraQuery : Added a new node to query camera parameters (#6431).
  • Cycles : Updated to version 4.4.0.

Improvements

  • DeleteAttributes : Optimised case where all attributes are deleted. The input attributes are no longer accessed at all in this case.
  • ShaderAssignment : The scene:path context variable is now available in Switches connected directly to the ShaderAssignment.shader input. This allows different shaders to be assigned to different locations using a single ShaderAssignment node. Please note that the scene:path context variable remains unavailable to the individual shader nodes themselves for performance reasons.
  • 3Delight, Cycles, OpenGL : Added support for custom EXR metadata, using header:* parameters on the output definition.
  • RenderManAttributes, RenderManOptions : Plugs now respect minimum and maximum values specified by RenderMan.
  • RenderManShader : Improved GraphEditor labels for parameter RGB and XYZ components.
  • Cycles :
    • Improved responsiveness for Viewer camera updates when using Cycles as the viewport renderer. One benchmark shows around a 10x improvement in frame rate.
    • Added support for layerName parameter in outputs, to control the naming of channels in EXR outputs.
  • StandardOptions :
    • Added render manifest option.
    • Added render:cameraInclusions, render:cameraExclusions, render:matteInclusions, and render:matteExclusions options.
  • CyclesMeshLight : Improved presentation of cameraVisibility and lightGroup plugs in the Node Editor.
  • VisualiserTool : Added visualisation of labels for uniform primitive variables, face indices and curve indices.
  • PathListingWidget :
    • Improved formatting of Box and Matrix values.
    • Improved performance when showing colour values.
    • Added support for showing spline values.
  • GafferUI : Added support for drag and dropping numeric vector data onto numeric vector plugs of compatible types ( For example, dropping a list of ints onto a FloatVectorDataPlug ).
  • Switch : Optimised disabled switches using a direct internal connection, even when the index is not constant.

Fixes

  • LocalDispatcher, SystemCommand, gaffer env : Fixed unwanted upper-casing of environment variable names on Windows (#6371).
  • OpenGLAttributes : The default values of attribute plugs now correctly reflect the default behaviour of the OpenGL renderer.
  • Arnold : Fixed default behaviour of ai:abort_on_license_fail option with Arnold 7.3 and above.
  • Cycles :
    • Fixed bugs handling identical cameras with different transforms.
    • Fixed handling of cycles:volume_precision attribute, which was previously being ignored.
    • Fixed bugs handling unknown VDB grid types.
    • Fixed potential crash rendering VDB objects.
    • Fixed potential threading-related crashes.
  • RenderPassEditor : Fixed default values displayed for dl:oversampling and dl:quality.shadingsamples options.
  • PlugLayout : Fixed bug resolving layout:index metadata.
  • ScriptNodeAlgo : Stopped polluting the ScriptNode context with ui:* variables. Warnings are now emitted by the UI if anything else causes similar pollution.
  • Checkerboard : Fixed crash when evaluated for non-existent channel name.
  • PathListingWidget :
    • Prevented emission of updateFinishedSignal() when a new update is pending anyway.
    • Fixed potential threading-related crash.
  • LightEditor, RenderPassEditor, AttributeEditor :
    • Fixed missing history entries when two edits have the same source plug.
    • Fixed potential crashes in Show History....
    • Fixed potential UI lag in Show History....
    • Fixed flickering in history window when scrubbing the timeline.
  • RenderPassEditor : Fixed error when deleting a pass while a history window was open for it.
  • OptionalValuePlugValueWidget : Fixed handling of keyword constructor arguments. In particular this meant that parenting arguments did not work.
  • ScenePathPlugValueWidget :
    • Fixed context used to evaluate the scene. This is now focus-aware, so the scene browser only shows locations that are available with respect to the current focus.
    • Fixed bugs that prevented usage in Editor.Settings nodes.
  • SceneReader : Fixed bug reading USD cameras without authored shutter attributes. Previously, the loaded camera would have an unwanted shutter parameter, but now the shutter parameter is correctly omitted.
  • SceneWriter : Fixed bug writing cameras without a shutter parameter to USD. Previously shutter attributes were authored with default values, but now the shutter attributes are not authored at all.

API

  • Gaffer module : Added environment() method, returning a dictionary containing all current environment variables. Unlike os.environ, this preserves case on Windows.
  • GafferScene::RenderManifest : Added class for representing mapping of ids to paths in renders. Supports reading EXR and cryptomatte manifests, and writing EXR manifests.
  • Metadata :
    • Added registerValues() function that registers multiple metadata entries from a dictionary of string targets.
    • Updated targetsWithMetadata() function to support matching multiple targets.
  • MetadataAlgo : Added createPlugFromMetadata() function.
  • RenderController : Added renderManifest() method.
  • ImageGadget : Added support for showing selected and highlighted ids. Controlled using setIDChannel, setSelectedIDs, and setHighlightID.
  • ShadingEngine : Added support for passing custom pointclouds to the shade() call.
  • SceneAlgo :
    • applyCameraGlobals() now always applies the render:overscan[Top/Bottom/Left/Right] options to the camera if they exist in the scene globals.
    • applyCameraGlobals() now applies the render:depthOfField option to the depthOfField camera parameter. The fStop camera parameter is no longer overridden to 0.0 when the render:depthOfField option is False or not specified.

Breaking Changes

  • Arnold :
    • Removed support for Arnold 7.2.
    • Removed GafferArnoldUI.GPUCache.populateGPUCache() function.
  • ArnoldAttributes, CyclesAttributes, DelightAttributes, OpenGLAttributes, StandardAttributes, USDAttributes : Attributes plugs have been renamed to match the name of their attribute (e.g. attributes.visibility is now attributes.scene:visible). Compatibility configs have been provided to allow these nodes to be loaded from scripts saved in earlier Gaffer versions.
  • ArnoldOptions, CyclesOptions, DelightOptions, StandardOptions : Option plugs have been renamed to match the name of their option (e.g. options.renderCamera is now options.render:camera). Compatibility configs have been provided to allow these nodes to be loaded from scripts saved in earlier Gaffer versions.
  • ArnoldOptions : Changed the default value of the ai:texture_max_memory_MB plug to 4096 to match Arnold's default.
  • StandardNodule : Removed deprecated setCompatibleLabelsVisible().
  • DeleteAttributes : Changed base class and marked as final.
  • Wrapper : The gaffer wrapper on Linux no longer allows a custom Python build to be used. If you wish to use a custom Python, call python _gaffer.py instead.
  • RenderPasses, DeleteRenderPasses : Renamed TypeId enum values to RenderPassesTypeId and DeleteRenderPassesTypeId.
  • OpenGLAttributes : The default values of the attribute plugs authoring the gl:primitive:bound, gl:primitive:outline, gl:primitive:points, gl:primitive:pointColor, gl:primitive:wireframe, and gl:primitive:wireframeColor attributes have changed to match the default behaviour of the OpenGL renderer. Scripts loaded from previous Gaffer versions with these plugs enabled and set to the default value will see a difference in OpenGL renders.
  • SceneTestCase : Removed assertBoxesEqual() and assertBoxesAlmostEqual() methods.
  • RenderController : Removed pathForID(), pathsForIDs(), idForPath() and idsForPaths(). Use renderManifest() instead.
  • Catalogue, CatalogueSelect, Display : Moved from GafferImage module to GafferScene.
  • StandardAttributes : Changed the default value of the linkedLights plug to "defaultLights". Scripts loaded from earlier Gaffer versions containing linkedLights plugs set to the previous default of "" will need to be updated as those plugs will now default to "defaultLights".
  • ImageView : Changed image comparison hotkey from Q to K ( Q now selects the selection tool in the image view, same as in the scene view ).
  • OSLObject, OSLImage, Expression : Removed support for file-based pointclouds.
  • ContextAlgo : Removed deprecated API. Use Scri...
Read more

Gaffer 1.5.16.1

23 Jul 14:42
Compare
Choose a tag to compare

Fixes

  • Instancer : Fixed potential crash with encapsulated instancers.
  • AttributeEditor, LightEditor, RenderPassEditor : Fixed crash caused by incorrectly intercepting drags being performed by virtual sliders, such as those in the popup cell editors.

Gaffer 1.5.16.0

07 Jul 23:20
Compare
Choose a tag to compare

Improvements

  • RenderPassEditor, AttributeEditor, LightEditor :
    • Added menu item and I shortcut for inspecting the full text of a value, and its source plug.
    • Added H shortcut for "History..." menu item.
    • Exposed existing keyboard shortcuts in menu items.

Fixes

  • LightPositionTool :
    • Fixed bug where a light would rotate around its local Z-axis during placement.
    • Fixed intermittent bug causing ERROR : Emitting signal : Bad optional access when using the undo / redo commands.
  • RotateTool : Fixed bug where objects would rotate around their local Z-axis when using aim at target mode.
  • Annotations : Fixed word-wrapping in annotation dialogue.
  • HierarchyView, AttributeEditor, SetEditor : Fixed judder caused by row heights changing during update.
  • RenderPassEditor : Fixed excessive row heights caused by multi-line values in the first row. All rows are now a single line high.
  • AttributeEditor, LightEditor, RenderPassEditor : Fixed bug causing cells to incorrectly appear to accept drags containing a node or plug.
  • SceneReader : Fixed reading of bounds from USD prims with extentsHint and model kind but without UsdGeomModelAPI applied.
  • ArnoldAttributes, ArnoldOptions, CyclesAttributes, CyclesOptions, DelightAttributes, DelightOptions, OpenGLAttributes, StandardAttributes, StandardOptions, USDAttributes : Fixed loading of nodes saved from Gaffer 1.6.

Build

  • SConstruct : Added GAFFER_COMMAND option to control the command to be called during install.
  • Cortex : Updated to version 10.5.15.1.

API

  • GraphComponent : Added support for compatibility:childAlias:{aliasName} metadata, which specifies the name of a child to be accessed via the alias {aliasName}. The Python methods getChild(), descendant(), __getitem__, __delitem__, and __contains__ now fall back to using aliases when a direct match is not found. This metadata can be registered to maintain compatibility when renaming plugs.

Gaffer 1.5.15.0

11 Jun 18:47
Compare
Choose a tag to compare

Features

  • ShuffleOptions : Added a new node for shuffling options in the scene globals (#6412).

Improvements

  • Animation :
    • Added plug context menu actions for color, vector and box plugs.
    • Plug context menu actions are now available on widgets that edit multiple plugs. This enables the animation of multiple cells at once in the LightEditor, RenderPassEditor, AttributeEditor and Spreadsheet UI.
  • Attribute Editor, Light Editor, Render Pass Editor, Spreadsheet : Added Shift + Enter and Shift + Ctrl + Enter shortcuts to commit an edit without closing the popup editor window.
  • LightEditor : Improved the order of sections and some columns within sections for Arnold lights.
  • Wrapper : Added $ARNOLD_ROOT/plugins/usd/usdArnold/resources to PXR_PLUGINPATH_NAME when ARNOLD_ROOT is specified.
  • SceneReader : Added loading of ArnoldAlembic, ArnoldUsd and ArnoldProceduralCustom USD prims as ExternalProcedural objects.

Fixes

  • RenderMan : Added missing attribute handlers for float, string, InternedString, Color3f and V3f array attributes. In particular, this fixes the export of render:displayColor attributes loaded from USD.
  • RenderManShader : Fixed failure to load connections made via Dots and other intermediate nodes.
  • Expression : Fixed error when creating OSL expressions for plugs with : characters in their name.
  • PythonEditor : Fixed completions menu not appearing after typing : in a partial plug or node name or a dictionary key.
  • Animation : Fixed "Jump To" actions in plug context menu.
  • Edit Menu : Disabled "Rename" menu item when the selection is read-only.
  • Catalogue : Added forwards compatibility for Catalogues saved from Gaffer 1.6.
  • SceneReader : Fixed loading of instanced UsdSkel geometry with unique animation applied.

Build

  • Added buildGraphics option to SConstruct to enable building the Gaffer logo and icons separately.
  • Cortex : Updated to version 10.5.15.0.

Gaffer 1.5.14.0

16 May 09:44
Compare
Choose a tag to compare

Improvements

  • StandardAttributes : Added shadowedLights attribute to specify shadow linking. This supercedes the Arnold-specific shadowGroup attribute on the ArnoldAttributes node.
  • GafferML :
    • Added support for custom ONNX ops via the GAFFERML_CUSTOM_OPS_LIBRARIES environment variable. This should contain a comma-separated list of full paths to libraries containing custom ops.
    • Added support for string tensors.
  • Cycles : Added support for shadow linking.
  • RenderMan :
    • Added support for shadow linking.
    • Added support for USDLux lights.

Fixes

  • RenderManLight : Fixed orientation of color maps on PxrRectLight.

API

  • TestCase : Added assertEqualWithAbsError() method.

Gaffer 1.5.13.0

08 May 17:57
Compare
Choose a tag to compare

Features

  • ArnoldProcedural : Added a new node for making Arnold .ass procedural placeholders.
  • AttributeEditor, LightEditor, RenderPassEditor : Added copy and paste editing. Values from one or more cells can be copied to the clipboard with Ctrl + C and pasted with Ctrl + V to create or update edits. Values copied from these editors can also be pasted into Spreadsheet cells, and vice versa.

Improvements

  • ImageReader : Automatically set "filePath" metadata when reading images, making it easier to determine the path an image was loaded from.
  • Cryptomatte : Improved automatic finding of manifests. Now, if the image's metadata references a sidecar manifest file, but no explicit manifestDirectory is specified, it will look in the directory the image was loaded from (as determined by the "filePath" metadata). This makes it more likely that cryptomatte files will work automatically.
  • Spreadsheet :
    • A wider range of types are converted when copy/pasting values between cells, such as BoolData to IntData, FloatData to IntData, etc.
    • Added support for converting StringData values when pasted or dropped onto a StringVectorData cell. The string array value is formed by splitting the string on spaces.
  • AttributeEditor, LightEditor, RenderPassEditor, Spreadsheet : The current text is selected automatically when editing popup multi-line text fields.

Fixes

  • Cycles : Fixed light linking in batch renders.
  • RenderMan :
    • Fixed light linking in batch renders.
    • Fixed handling of render:{name} attributes, such as the render:displayColor attribute created by StandardAttributes, and primvar:{name} attributes loaded from USD files. These can now be accessed by PxrAttribute shaders as either user:{name} or just {name}.
  • Cryptomatte : Fixed hypothetical inconsistencies if the C++ language locale affects the parsing of JSON files (probably not an issue in practice, since the JSON in question should just be hexadecimal integers, and no known locale should affect the parsing of integers).
  • Alembic : Fixed crashes caused by invalid UVs.

Build

  • Cortex : Updated to version 10.5.14.0.

API

  • PlugAlgo :
    • Added support in setValueFromData() for setting StringPlug values from StringVectorData and StringVectorDataPlugValues from StringData.
    • Added setValueOrInsertKeyFromData().
  • PathListingWidget : Added visualOrder().