Skip to content

Releases: GafferHQ/gaffer

Gaffer 1.4.8.0

24 Jun 21:07
Compare
Choose a tag to compare

Improvements

  • SceneReader : ModelAPI extentsHints are now considered when loading the bounding box for a location in Gaffer. This can significantly reduce the time taken to load bounds for large USD assemblies. If necessary, this behaviour can be disabled by setting the IECOREUSD_USE_MODELAPI_BOUNDS environment variable with a value of 0.
  • ColorChooser :
    • Added channel names to identify sliders.
    • Setting the saturation to zero no longer resets the hue and setting the value to zero no longer resets the hue and saturation.
  • RenderPassEditor : Added "Select Affected Objects" popup menu item.
  • Annotations :
    • Added support for {plug} value substitutions in node annotations.
    • Added Ctrl + Enter keyboard shortcut to annotation dialogue. This applies the annotation and closes the dialogue.
  • LightEditor : Added support for Arnold light blockers and barndoor, gobo and decay light filters.

Fixes

  • Cycles : Fixed rendering to the Catalogue using the batch Render node (#5905). Note that rendering a mixture of Catalogue and file outputs is still not supported, and in this case any file outputs will be ignored.
  • CodeWidget : Fixed bug that could prevent changes from being committed while the completion menu was visible.
  • Loop : Fixed handling of empty indexVariable. This now disables the Loop instead of creating an unnamed context variable.
  • ColorChooser : Fixed emission of colorChangedSignal() while the widget was in an inconsistent internal state.
  • LazyMethod : Fixed errors caused by running idle callbacks without a valid Qt Widget.

API

  • LightEditor : Added deregisterColumn() method for removing columns.
  • ShaderUI : Added support for nodeGadget:color metadata registered against {shaderType}:{shaderName}, to specify per-shader colouring of nodes in the GraphEditor.
  • ArnoldShaderUI : Added support for gaffer.nodeGadget.color RGB metadata in .mtd files, to specify per-shader colouring of nodes in the GraphEditor.
  • Loop : Added nextIterationContext() method.
  • AnnotationsGadget : Added annotationText() method.
  • ParallelAlgoTest : Added UIThreadCallHandler.receive() method.
  • LightEditor : Added registerShaderParameter() method for registering parameters for shader attributes that are not the same as the rendererKey.

Build

  • Cortex : Updated to version 10.5.9.0.

Gaffer 1.3.16.6

24 Jun 21:05
Compare
Choose a tag to compare

Fixes

  • LazyMethod : Fixed errors caused by running idle callbacks without a valid Qt Widget.

Gaffer 1.4.7.0

14 Jun 19:46
Compare
Choose a tag to compare

Improvements

  • ShaderTweaks, ShaderQuery : Improved performance of parameter selection dialogue. For some particularly large shader networks, speedups are greater than 100x.
  • UIEditor : Added code examples to button code placeholder text.
  • Arnold light_decay :
    • Increased the size of the triangle indicators for the decay ranges.
    • The decay range indicators are now scaled by the light's gl:visualiser:scale attribute.
    • The decay range is now ignored when framing a light in the Viewer.
  • EditScopePlugValueWidget :
    • When viewing the output of a Box, the menu now displays the Edit Scopes contained within.
    • Added support for dropping an Edit Scope node onto the widget to set it as the current Edit Scope.
    • Added support for middle-dragging from the widget to access the current Edit Scope node.
  • ArnoldAttributes : Added syntax highlighting and auto-complete for set expressions on the shadowGroup plug.
  • OpenColorIO : When a script-level OpenColorIO variable contains a Gaffer ${contextVariable} reference, its evaluation is now deferred to the point of use. This allows it to pick up overrides introduced by nodes such as ContextVariables and Wedge.
  • SceneInspector :
    • Added support for dragging inspector labels, such as those containing the names of attributes, options, output parameters, parameters, primitive variables, and sets.
    • Set names beginning with "__" such as "__lights" or "__cameras" are now displayed as-is, rather than being transformed to "Lights" or "Cameras".
  • BackgroundTask : Added reporting of tasks attempting to wait for themselves.

Fixes

  • Viewer : Fixed handling of Gaffer ${contextVariable} references in OpenColorIO variable values. The Viewer now updates the Display Transform appropriately when the value of the context variable changes.
  • FramingConstraint : Fixed crash caused by attempts to constrain objects that were not cameras.
  • SceneReader : Fixed error loading USD Volumes with empty fields. These will now issue a warning and load as empty locations.
  • UI : Fixed hangs caused by garbage collection of removed Editors. One common example involved viewing a Catalogue in the NodeEditor after removing the ImageInspector (#5877).

API

  • TextWidget, MultilineTextWidget :
    • Added setPlaceholderText() and getPlaceholderText() methods.
    • Added placeholderText constructor argument.

Gaffer 1.3.16.5

14 Jun 19:44
Compare
Choose a tag to compare

Fixes

  • FramingConstraint : Fixed crash caused by attempts to constrain objects that were not cameras.
  • SceneReader : Fixed error loading USD Volumes with empty fields. These will now issue a warning and load as empty locations.

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.