Skip to content

Releases: GafferHQ/gaffer

Gaffer 1.3.16.7

25 Jul 08:49
Compare
Choose a tag to compare

Fixes

  • ImageReader : Fixed crash caused by invalid OpenEXR multiView attributes.
  • LightEditor, RenderPassEditor : Added missing icon representing use of the CreateIfMissing tweak mode in the history window.
  • Slider : Fixed bug where two undo steps were needed to get back to the original value when dragging.

Gaffer 1.4.9.0

11 Jul 20:53
Compare
Choose a tag to compare

Improvements

  • Cryptomatte : Renamed __manifestScene plug to manifestScene so it is no longer considered to be private.
  • EditScopePlugValueWidget : Width can now be configured via <layoutName>:width metadata. This enables customisation of the Edit Scope menu width by registering metadata in a startup file, such as Gaffer.Metadata.registerValue( GafferSceneUI.RenderPassEditor.Settings, "editScope", "layout:width", 450 ) to double the standard width of the Edit Scope menu in the Render Pass Editor.
  • ArnoldShader :
    • The following parameters are now visible in the GraphEditor :
      • The aov_input parameter of the aov_write_int shader.
      • The data_input parameter of the color_jitter shader.
      • The input_int and seed parameters of the random shader.
      • The index parameters of the switch_rgba and switch_shader shaders.
      • The default parameter of the user_data_int shader.
    • The following parameters can now be made visible in the GraphEditor :
      • The flake_layers parameter of the car_paint shader.
      • The data_seed, proc_seed, obj_seed, and face_seed parameters of the color_jitter shader.
  • EditScope : Added summaries of set membership edits in the NodeEditor.
  • LightEditor : Mute and solo columns now accurately reflect the presence of the light:mute attribute (for the Mute column) and membership in the soloLights set (for the Solo column) for all scene locations, not just for lights.
  • RenderPassEditor : The currently active render pass can now be unset by double clicking on its green dot in the "Active" column.
  • HierarchyView, LightEditor, RenderPassEditor, SetEditor : Reduced potential UI stalls when first showing a scene.
  • ShaderTweaks : Added support for wildcards in the shader name, in order to tweak multiple shaders at once.

Fixes

  • HierarchyView, LightEditor, PrimitiveInspector, SceneInspector : Fixed bug which allowed scenes from private plugs to be displayed.
  • PrimitiveInspector : Fixed bug which claimed "Location does not exist" for objects without any primitive variables.
  • OpenColorIO : Fixed the display transform used to show colours in popups.
  • SceneInspector : Fixed "Show History" menu items.
  • ImageGadget : Fixed loading of non-8-bit images. Among other things, this fixes the display of 16 bit node icons in the GraphEditor.
  • Arnold : Fixed rendering of VDB volumes without file_mem_bytes metadata.
  • Cycles : Fixed bug preventing a background light from being added to a light group.
  • LightEditor : Fixed regression (introduced in 1.4.8.0) causing the mute and solo icons to not show up for groups.
  • Windows : Fixed conflicts with other software installations on PATH. The PXR_USD_WINDOWS_DLL_PATH environment variable is now set to an empty string if it is not already set, preventing USD from adding all entries from PATH to Python's DLL search paths.
  • AnnotationsGadget : Fixed potential hang in annotationText() Python binding.
  • FormatPlug : Fixed potential hang in acquireDefaultFormatPlug() Python binding.
  • ImageReader : Fixed array metadata loading bugs, including the loading of ICCProfile metadata.

API

  • PopupWindow : Added parent argument to popup() method. This allows popup windows to inherit the display transform from the main UI.

Build

  • Cortex : Updated to version 10.5.9.1.

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