Skip to content

Releases: GafferHQ/gaffer

Gaffer 1.4.6.0

05 Jun 19:11
Compare
Choose a tag to compare

Improvements

  • EditScopePlugValueWidget : Added icon representing the Edit Scope node colour.

Fixes

  • LightPositionTool : Fixed bug that caused the target/pivot positions to be lost when placing a light with Z scale not equal to 1.0.
  • SceneWriter :
    • Fixed writing of locations with names that are not valid USD identifiers.
    • Fixed handling of shader parameters not supported in USD, such as texture inputs to OpenGLShader.
  • SceneReader : Fixed duplicate loading of arnold:* attributes on lights. These are now omitted, since they are converted to parameters on the light shader itself.
  • ShaderTweaks : Fixed potential crash if a ShaderTweakProxy was used to accidentally create a cyclic connection.
  • Spreadsheet : Fixed "Sets", "Operators" and "Select Affected Objects" popup menu items, which were broken in 1.4.5.0.

Build

  • Cortex : Updated to version 10.5.8.0.

API

  • Menu : Menu items with "checkBox" enabled now draw their checked indicator in place of their "icon" when both are defined.
  • Image : Added createSwatch() static method.

Gaffer 1.3.16.4

05 Jun 19:10
Compare
Choose a tag to compare

Fixes

  • SceneWriter : Fixed writing of locations with names that are not valid USD identifiers.
  • LightPositionTool : Fixed bug that caused the target / pivot positions to be removed when placing a light with Z scale not equal to 1.0.

Gaffer 1.4.5.0

29 May 17:54
Compare
Choose a tag to compare

Features

  • ShaderTweaks : Added support for creating ShaderTweakProxy nodes that allow making input connections to the original network.
  • 3Delight : Added interactive Viewer renderer.

Improvements

  • SetFilter, StandardAttributes, StandardOptions : Added syntax highlighting and auto-complete for set expressions.
  • NodeEditor, UIEditor, PythonEditor : Added popup hint for the Ctrl+Return shortcut.
  • CodeWidget : Added highlighting of braces and operators.
  • RenderPassEditor : Added preset menu for choosing a render pass type from the list of available registered types. An "auto" type is included in the list when an auto type function has been registered.
  • OptionTweaks : Tweak value plugs can now access metadata registered globally to option:{tweakName}, where {tweakName} is the value of the tweak's name plug.
  • Spreadsheet : Added support for metadata to be automatically forwarded from plugs downstream of a column's out plug to the column's default row.

Fixes

  • CodeWidget :
    • Removed unwanted \n prefix in lines passed to Completers.
    • Prevented spurious emission of editingFinishedSignal() when showing the completions menu.
    • Prevented the completion menu from popping up inappropriately when the highlighter was changed.
  • MultiLineTextWidget :
    • Fixed rendering of disabled widgets, which now show faded text.
    • Fixed behaviour of editingFinishedSignal() to match TextWidget : it is now also emitted when the text is activated (see activatedSignal()).
  • MultiLineStringMetadataWidget : The Ctrl+Return shortcut now updates the metadata value immediately.
  • UIEditor : The Ctrl+Return shortcut now updates the button code immediately.
  • Cryptomatte :
    • Fixed errors when the input image didn't contain the main RGBA channels.
    • Fixed inaccurate hash.
  • SceneAlgo : Fixed exception handling for Python render adaptors. Previously an exception during adaptor construction caused a SystemError.
  • InteractiveRender :
    • Fixed crash triggered by a render adaptor depending on its renderer input to adapt the scene globals.
    • Removed unintentional ability for render adaptors to change the renderer being used.

API

  • TextWidget : Added selectedText() convenience method.
  • MultiLineTextWidget : Added setSelection() and getSelection() methods.
  • SetExpressionPlugValueWidget : Added new editor for set expressions, with syntax highlighting and auto-complete.
  • RenderPassTypeAdaptor : Added autoTypeFunction() method.

Gaffer 1.4.4.0

22 May 20:15
Compare
Choose a tag to compare

Features

  • RenderPassEditor :
    • Added type column for configuring specific passes to render with a predefined type. We provide default configurations of a number of render pass types, these can be modified to suit specific workflows via the RenderPassShader node or by registering new types and processors via the RenderPassTypeAdaptor in a startup file.
    • The default render pass type configurations include :
      • A "shadow" type for catching shadows cast by caster locations on catcher locations.
      • A "reflection" type for catching reflections cast by caster locations on catcher locations. The roughness of the reflective material can be configured per catcher location by creating a user:renderPass:reflectionCatcher:roughness float attribute.
      • A "reflectionAlpha" type for catching reflection mattes cast by caster locations on catcher locations. The colour of the matte can be configured per caster location by creating a user:renderPass:reflectionCaster:color Color3f attribute.
  • RenderPassShader : Added new node for overriding a shader used by a render pass type.

Improvements

  • 3Delight :
    • Added support for multipart EXR renders by using the same file name parameter on multiple outputs.
    • Added support for scalarformat, colorprofile, filterwidth and arbitrary custom NSI outputlayer and outputdriver attributes.
    • Updated the default output presets to include scalarformat, colorprofile, filter and filterwidth output parameters.
  • LightPositionTool : Changed the pointer to notEditable when using keyboard combinations that do not apply to the current tool mode.
  • LightEditor : Added the ability to register columns for editing any parameter in a light's shader network. The parameter to edit is registered in the form shaderName.parameterName when calling GafferSceneUI.LightEditor.registerParameter.
  • PathFilterUI : Added the ability to drag and drop scene paths onto Box and Reference nodes. Doing so will create a new PathFilter with the selected paths if none is connected, or update an existing connected PathFilter.

Fixes

  • SceneReader, SceneWriter : Fixed handling of Arnold-specific parameters on UsdLux lights.
  • SceneWriter : Fixed import of treatAsPoint and treatAsLine parameters on UsdLux lights.
  • Linux : Fixed crashes at startup on platforms - including RHEL 9.4 - with a more recent glibc (#5856).
  • LightPositionTool : Fixed bug that allowed a non-light object to be moved by clicking or dragging the target or pivot.
  • OptionQuery : Fixed bug which allowed the scene:path context variable to leak into the context used to evaluate the globals.

API

  • ShaderPlug : Added parameterSource() method returning the ValuePlug responsible for generating a parameter in a shader network.
  • ParameterInspector : Added the ability to inspect parameters on any shader in a light or shader's shader network.
  • RenderPassTypeAdaptor :
    • Added registration methods for defining render pass types and processors.
    • Added registerAutoTypeFunction() method to define a function used to automatically derive the render pass type from the render pass name when the renderPass:type option value is "auto".

Gaffer 1.4.3.0

10 May 17:44
Compare
Choose a tag to compare

Features

  • 3Delight : Added "3Delight Cloud" renderer, for rendering using the 3Delight cloud.

Improvements

  • Arnold : If it exists, an ai:volume attribute is preferred over an ai:surface attribute when resolving shaders for volumes.
  • Cycles :
    • Updated the UI of Cycles shaders and lights for ease of use and to match Blender conventions.
    • Hide certain parameters based on UI selections.
    • Renamed and reordered parameters and created sections to match Blender.
    • Changed all the Cycles items in the Gaffer tab menu to title case.
  • PythonCommand : Added standard popup menu to command widget in NodeEditor.

Fixes

  • Arnold :
    • Fixed rendering of ai:volume shaders loaded from USD (#5830).
    • Renamed Arnold/Globals/Imager menu option to Arnold/Globals/Imagers so that the actual ArnoldImager node menu option wasn't overwritten.
  • CodeWidget : Fixed errors handling highlights which spanned more than one line, such as triple-quoted strings in the PythonEditor.
  • NodeEditor : Fixed broken layouts caused by computation errors in plugs used by section summaries.
  • ColorChooserPlugValueWidget : Fixed bug that allowed the editing of locked plugs and nodes.

API

  • SceneAlgo : Added mechanism for scoping render adaptors to specific clients and/or renderers.

Build

  • Fixed issue where gaffer wrapper may not exist when calling usdGenSchema from a clean build.

Gaffer 1.3.16.3

10 May 17:42
Compare
Choose a tag to compare

Fixes

  • ColorChooserPlugValueWidget : Fixed bug that allowed the editing of locked plugs and nodes.

Gaffer 1.4.2.0

30 Apr 19:02
Compare
Choose a tag to compare

Features

  • ContactSheet : Added new node for creating contact sheets from multiple input images.
  • LightPositionTool : Added Diffuse mode for placing lights along the normal of the target position.

Improvements

  • TweakPlug : ListAppend, ListPrepend and ListRemove modes are now supported for string values. In this case, the string is treated as a space-separated list.
  • Cycles :
    • Changed default value for principled_bsdf.specular_ior_level to 0.5, matching Blender.
    • Added support for uv.tangent and uv.tangent_sign primitive variables to assist in rendering with normal maps (#5269).
  • AttributeQuery, PrimitiveVariableQuery, ContextQuery, OptionQuery, ShaderQuery : Added support for querying arrays of length 1 as their equivalent scalar types.
  • CodeWidget : Added Ctrl+L shortcut for selecting all text on the current line.
  • AttributeTweaks, CameraTweaks, ShaderTweaks, OptionTweaks, PrimitiveVariableTweaks :
    • Added support for a {source} token which is substituted with the original value when tweaking a string in Replace mode.
    • Added tooltips documenting the tweak modes.
  • 3Delight : Added automatic render-time translation of UsdPreviewSurface shaders to 3Delight.
  • USDLight :
    • Added Arnold-specific extension parameters.
    • Added parameter tooltips.
  • LightEditor : Added columns for Arnold-specific parameters on USD lights.
  • Switch : Added deleteContextVariables plug.

Fixes

  • Viewer : Fixed Cycles shader balls.
  • TweakPlug : Fixed incorrect results and potential crashes in list modes.
  • USD : Fixed Unsupported value type "StringData" for parameter "input" warning when converting UsdTransform2d shaders with no in connections to Arnold.
  • File Browser : Windows only : Fixed bug in HiddenFilePathFilter that caused sequences to be treated as though they are hidden files (#5810).

API

  • PlugAlgo : setValueFromData() and canSetValueFromData() now support conversion of arrays of length 1 to their equivalent scalar types.
  • BoxPlug : Added Python bindings for ValueType, PointType and ChildType type aliases.
  • RenderPassEditor : Added deregisterColumn() method.
  • DocumentationAlgo : Added table and strikethrough support to markdownToHTML().
  • LightEditor : Added columnName parameter to registerParameter() method, matching the behaviour of RenderPassEditor.registerOption().
  • USDShader : Added support for loading from the UsdSchemaRegistry as well as from the SdrRegistry. This is now used when loading UsdLuxLights.
  • PlugLayout : Added support for activators in Boxes and extension nodes by allowing layout:activator:activatorName metadata to contain a Python string to be executed. Execution is performed in an environment where a parent variable refers to node or plug represented by the layout, and from which plug values can be obtained.
  • ContactSheetCore : Added a new node to do provide the basis for networks that create contact sheets from multiple input images.

Build

  • MacOS : Fixed issue where Python.framework may not be found when building with a prebuilt dependencies package.

Gaffer 1.3.16.2

30 Apr 19:01
Compare
Choose a tag to compare

Fixes

  • File Browser : Windows only : Fixed bug in HiddenFilePathFilter that caused sequences to be treated as though they are hidden files (#5810).

Gaffer 1.4.1.0

22 Apr 22:56
Compare
Choose a tag to compare

Features

  • MeshTessellate/MeshType : Added support for special-purpose subdiv options: interpolateBoundary, faceVaryingLinearInterpolation, triangleSubdivisionRule.

Improvements

  • Group : Added sets plug, to control what sets the group belongs to.
  • USD : Added automatic render-time translation of UsdPreviewSurface shaders to Cycles.
  • SetEditor : Added support for dragging a set name onto a node in the Graph Editor to create or modify a connected SetFilter node. Holding Shift while dragging will add to the set expression. Holding Control will remove from the set expression. Only set expressions with a simple list of sets are supported. Expressions with boolean or hierarchy operators are not supported.
  • GraphEditor : Improved pointer used to indicate when dropping a location would find the source node.
  • RenderPassEditor :
    • Added "Camera Inclusions" and "Camera Exclusions" columns, providing control over the camera visibility of scene locations in each render pass.
    • Added "Matte Inclusions" and "Matte Exclusions" columns, providing control over the scene locations used as holdout mattes in each render pass.

Fixes

  • NameSwitch : Fixed NodeEditor tab order, so that the Settings tab precedes the Advanced tab.
  • NodeAlgo : Fixed presets inheritance for promoted plugs with multiple outputs.
  • TaskNode / GafferCortex : Fixed missing GIL releases that caused hang at ImageEngine.

Build

  • Cortex : Updated to version 10.5.7.0.
  • OpenEXR : Updated to version 3.1.13.
  • USD : Added sdrOsl, for inclusion of OSL shaders in the Sdr Registry.

Gaffer 1.3.16.1

22 Apr 22:54
Compare
Choose a tag to compare

Fixes

  • NodeAlgo : Fixed presets inheritance for promoted plugs with multiple outputs.
  • TaskNode / GafferCortex : Fixed missing GIL releases that caused hang at ImageEngine.