Skip to content

Releases: GafferHQ/gaffer

Gaffer 1.3.7.0

15 Nov 15:49
Compare
Choose a tag to compare

Improvements

  • ArnoldShader : Improved support for camera projections by exposing the camera plug on the camera_projection shader.
  • Instancer :
    • Improved scene generation for encapsulated instancers significantly, with some production scenes now generating 5-7x faster.
    • Added omitDuplicateIds plug, to determine whether points with duplicate IDs are ignored or should trigger an error.
  • ScenePathPlugValueWidget : Added fallback to browsing the focused scene when no other scene can be found. This makes the widget suitable for use on ShaderNodes.
  • Windows : Disabled Arnold's ADP usage and crash reporting module by default. Users can enable it by setting ARNOLD_ADP_DISABLE=0 for Arnold versions after 7.1.4.0 or ARNOLD_ADP_OPTIN=1 for earlier versions.

Fixes

  • Catalogue : Fixed performance regression when saving interactive renders with multiple AOVs (introduced in 1.3.6.1).

API

  • Capsule : Added protected renderOptions() and throwIfNoScene() methods.
  • ScenePath : Added support for passing nullptr for the scene.
  • ArnoldShaderUI : Added support for camera widget type metadata, to add a camera browser to a string parameter.

Gaffer 1.3.6.1

10 Nov 13:56
Compare
Choose a tag to compare

Fixes

  • Catalogue : Fixed bugs which caused additional images to appear when changing light groups or crop in an Arnold render (#4267, #4633).
  • Instancer :
    • Fixed failure to update encapsulated instancers when prototype properties changed during interactive renders.
    • Prevented unnecessary updates for encapsulated instancers when prototype globals changed.
  • Process : Fixed bug which caused a No result found exception to be thrown when a more descriptive exception should have been thrown instead.
  • Shader : Added support for reading from USD token attributes in <attr:> string parameter substitutions.

API

  • Display : Added driverClosed() method.

Build

  • Cortex : Updated to version 10.5.4.0.

Gaffer 1.3.6.0

03 Nov 14:33
Compare
Choose a tag to compare

Features

  • LightTool :
    • Added manipulator for disk and point light radii.
    • Added manipulators for cylinder length and radius.
  • Tools Menu : Added "Metadata/Clean Up" menu item to optimise file size by removing redundant metadata.

Improvements

  • CollectScenes : Improved performance when computing sets, with a 3x speedup being seen in one particular benchmark.
  • LightTool : Changed spot light and quad light edge tooltip locations so that they follow the cone and edge during drag.
  • Arnold : Improved speed of translation of encapsulated scenes when using many threads.
  • CollectImages : Added addLayerPrefix plug, to allow the layer prefix to be omitted in the case that the input images are already prefixed.
  • OSL Expression : Added support for getting an element of an array context variable using contextElement( variableName, index ) or contextElement( variableName, index, defaultValue ). Negative indices can be used to get elements relative to the end of the array.

Fixes

  • ValuePlug : Fixed hangs and poor performance caused by plugs depending on upstream plugs with an identical hash (#4978).
  • Filter : Fixed bug which allowed the scene:path context variable to "leak" upstream via the Filter.enabled plug. This caused unnecessary evaluations of the input, and also provided a loophole via which the filter result could be made inconsistent with respect to descendant and ancestor matches.
  • Windows :
    • Fixed a bug preventing anything except strings from being copied and pasted.
    • Fixed likely cause of crash when resizing Spreadsheet column width (#5296).
  • Reference : Fixed rare reloading error.
  • PlugLayout : Fixed lack of update when layout:customWidget:* metadata changes.
  • Dispatch app : Removed unnecessary and misleading "Execute" button.
  • SceneAlgo : Fixed history queries for ScenePlug.object in networks with nodes derived from ObjectProcessor. These include : CameraTweaks, ClosestPointSampler, CollectPrimitiveVariables, CopyPrimitiveVariables, CurveSampler, DeleteCurves, DeleteFaces, DeletePoints, MapOffset, MapProjection, MeshDistortion, MeshNormals, MeshSegments, MeshTangents, MeshToPoints, MeshType, Orientation, PointsType, PrimitiveSampler, PrimitiveVariables, ReverseWinding, ShufflePrimitiveVariables and UVSampler (#5406).
  • Metadata : Fixed redundant copying of metadata when promoting plugs.
  • OpenColorIO : Fixed hang when opening a script which didn't yet have the openColorIO.config plug.
  • Context : Fixed bug preventing the retrieval of V2iVectorData, V2fVectorData, V3iVectorData and V3fVectorData from a context.

API

  • Process : Added acquireCollaborativeResult() method, providing an improved mechanism for multiple threads to collaborate on TBB tasks spawned by a single process they all depend on.
  • ValuePlug : Added Default CachePolicy and deprecated Standard, TaskIsolation and Legacy policies.
  • Metadata :
    • Added RegistrationTypes enum that allows the different types of registrations to be identified.
    • Added improved registeredValues() and value() overloads that provide finer-grained queries based on the type of registration.
    • Deprecated instanceOnly and persistentOnly arguments in favour of new registrationTypes arguments.
    • Prevented renameable and deletable metadata from being copied during plug promotion.
  • MetadataAlgo : Added deregisterRedundantValues() method.

Build

  • Cortex : Updated to version 10.5.3.0.

Gaffer 1.3.5.0

20 Oct 10:03
Compare
Choose a tag to compare

Features

  • ImageScatter : Added a new node for scattering points across an image, with density controlled by an image channel.

Improvements

  • Viewer : Changed the default image comparison (wipe) mode from Over to Replace.
  • Spreadsheet :
    • Popups for string cells and row names are now sized to fit their column.
    • Added "Triple" and "Quadruple" width options to the spreadsheet row name popup menu.
  • Node : Improved performance when casting Python-derived types to ComputeNode.

Fixes

  • ValuePlug : Fixed performance regression (introduced in 1.3.1.0) getting values from plugs without an input connection. This could severely affect scene generation times in some cases.
  • NameSwitch : Fixed bug which prevented drag and drop reordering of rows with an input connection.
  • PythonEditor :
    • Fixed output for print() calls with multiple arguments, which was previously spread across multiple lines.
    • Fixed bug that prevented editors being destroyed at the right time.
  • FileSystemPath : Fixed bug on Windows where paths on an exFAT partition were not considered valid.

API

  • Sampler : Added populate() method, which populates the internal tile cache in parallel, and subsequently allows sample() to be called concurrently.

Gaffer 1.2.10.5

20 Oct 09:58
Compare
Choose a tag to compare

Fixes

  • NameSwitch : Fixed bug which prevented drag and drop reordering of rows with an input connection.
  • Scatter : Fixed loading of Scatter nodes saved from Gaffer 1.3+ (where the Seeds node was renamed to Scatter).

Gaffer 1.3.4.0

28 Sep 12:00
Compare
Choose a tag to compare

Improvements

  • Viewer : Added per-purpose control over which locations are shown in the viewer, according to their usd:purpose attribute.
    • The Drawing Mode dropdown menu can be used to to choose the visible purposes.
    • The default purposes can be specified in a startup file using Gaffer.Metadata.registerValue( GafferSceneUI.SceneView, "drawingMode.includedPurposes.value", "userDefault", IECore.StringVectorData( [ "default", "proxy" ] ) ).
  • StandardOptions : Added includedPurposes plug, to control which locations are included in a render based on the value of their usd:purpose attribute.
  • 3Delight : Added additional output presets.

Fixes

  • GraphEditor : Removed dynamic raster-space sizing of focus icon, as it caused excessive overlap with other nodes at certain zoom levels and on certain high resolution displays (#5435).
  • StringPlugValueWidget : Fixed bug handling Esc.
  • Arnold : Fixed unnecessary opaque attribute deprecation warnings. These are now only emitted in the case that opaque has been explicitly turned off.
  • ShaderUI : Fixed bug causing identical but independent shaders in a shader network from being included in the shader browser.
  • Encapsulate :
    • Fixed bug where global attributes (from the point of encapsulation) were baked into the contents of the capsule instead of being inherited naturally (from the node being rendered).
    • Fixed motion blur so that global settings are now taken from the downstream node being rendered, not from the input to the Encapsulate node.

API

  • SceneTestCase : Added assertScenesRenderSame() method.
  • RenderController : Added missing updateRequired() Python binding.
  • CapturingRenderer :
    • Added capturedObjectNames() method.
    • Added capturedName() and capturedLinkTypes() methods to CapturedObject class.

Build

  • Fixed compilation with Boost versions prior to 1.74.

Gaffer 1.2.10.4

27 Sep 17:45
Compare
Choose a tag to compare

Fixes

  • GraphEditor : Removed dynamic raster-space sizing of focus icon, as it caused excessive overlap with other nodes at certain zoom levels and on certain high resolution displays (#5435).
  • StringPlugValueWidget : Fixed bug handling Esc.
  • Arnold : Fixed unnecessary opaque attribute deprecation warnings. These are now only emitted in the case that opaque has been explicitly turned off.
  • ShaderUI : Fixed bug causing identical but independent shaders in a shader network from being included in the shader browser.

Gaffer 1.3.3.0

20 Sep 09:03
Compare
Choose a tag to compare

Features

  • 3Delight :
    • Added support for VDB volume objects.
    • Added support for vdbVolume shader.
    • Added support for volumeshader and displacementshader attributes.
    • Added support for spline parameters in shaders.

Improvements

  • SceneReader : Added support for reading from in-memory USD stages using a filename of the form stageCache:{id}.usd where {id} specifies a stage which has been inserted in the UsdUtilsStageCache.
  • Resample, Resize, Blur, ImageTransform : Improved performance, resulting in a 3x speedup in an obscure case, and a 5-10% speedup in more common cases.
  • ImageSampler : Added interpolate plug to control interpolation. Previously created ImageSamplers are unaffected, but interpolation is off by default for newly created ImageSamplers.
  • 3Delight :
    • Moved shaders to 3Delight/Shader menu and removed outdated shaders from the menu.
    • Shaders (including light shaders) are only loaded from the osl subdirectory of the 3Delight installation.
    • Primitive variables named uv are now automatically renamed st for compatibility with the uvCoord shader's expectation.
    • Added a default uvCoord shader during internal shader network preprocessing to shader parameters that do not have an input connection.
  • SetEditor : Added columns for controlling the Visible Set membership of set members. These allow the current members of a set to be included or excluded from the Visible Set by clicking within the Set Editor's Inclusions and Exclusions columns.

Fixes

  • SceneReader :
    • Fixed handling of invalid values on the following USD attributes :
      • PointBased : positions, normals, velocities, accelerations.
      • Curves : widths.
      • PointInstancer : ids, protoIndices, orientations, scales, velocities, accelerations, angularVelocities.
      • Points : ids, widths.
        Invalid values are now ignored with a warning, instead of loading as invalid primitive variables.
    • Fixed treatment of unconnected material outputs. If they were "authored" but not connected to a source, they were incorrectly being treated as valid attributes, and were being loaded as empty ShaderNetworks which caused problems elsewhere.
  • DispatchDialogue : Changed the button label for the results display from "Ok" to "Close".
  • Viewer : Fixed display of infinite values in the pixel inspectors. These were being incorrectly displayed as nan instead of inf.
  • OptionTweaks : Fixed bug that prevented multiple tweaks being made to the same option in one node.

API

  • SceneAlgo :
    • Added findAll() method, for finding all scene locations matching a predicate.
    • Added findAllWithAttribute() method, for finding all scene locations with a particular attribute.
  • ThreadState : Added process() method.
  • Process : Added const overload for handleException() method. The non-const version will be removed in future.
  • ContextMonitor : Added Statistics::variableHashes() method, allowing introspection of specific variable values.

Build

  • MacOS : Fixed compilation with Clang 13.
  • Cortex : Updated to version 10.5.2.0.

Gaffer 1.2.10.3

20 Sep 13:06
Compare
Choose a tag to compare

Fixes

  • DispatchDialogue : Changed the button label for the results display from "Ok" to "Close".

Gaffer 1.3.2.0

30 Aug 09:15
Compare
Choose a tag to compare

Features

  • LightTool : Added manipulator for quad lights.
  • Collect : Added a utility node for collecting the values of arbitrary inputs across a range of contexts.

Improvements

  • Viewer :
    • Added visualisation of light filters for USD lights.
    • Added support for USD lights and shaders in the floating inspector panel.
    • Improved support for looking through USD spot lights.
  • ShaderTweaks/ShaderQuery : Added presets for USD light and surface shaders.
  • Test app :
    • The -category argument now accepts a space-separated list of categories, optionally containing wildcards.
    • Added -excludedCategories and -showCategories arguments.
    • Added information about performance test timings to the output stream.
  • LightToCamera : Added support for USD spot lights.

Fixes

  • Viewer :
    • Fixed crash when visualising lights with a light filter intended for a different renderer.
    • Fixed visualisation of Cycles point light size.
    • Fixed visualisation of Arnold light gobo textures with scaled UV coordinates.
  • Arnold :
    • Fixed screen window export for Lentil cameras.
    • Fixed writing of image metadata for empty strings and strings containing spaces. This fixes the malformed line "string 'gaffer:context:ocio:config'" warning.
  • Application : Fixed the -threads argument to clamp the number of threads to the number of available hardware cores (#5403).
  • CompareFloat, CompareColor, CompareVector : Worked around crashes in OSL's batched shading system (#5430).
  • PlugValueWidget : Fixed search for auxiliary plugs of output plugs. In this case, the inputs are now searched instead of the outputs.
  • GafferUI : Fixed TableView bug causing the horizontal scrollbar to potentially overlap the last row (#5328).
  • Dispatch App : Fixed bug that prevented setting specific dispatcher plug values from the command line (#5434).

API

  • ThreadMonitor : Added new class for tracking the threads used to perform processes.
  • PlugAlgo : Added findSource() method.
  • TestRunner :
    • Added CategorisedTestMethod decorator used to assign categories to test methods.
    • Added categories() static method to return the list of available categories in a test suite.
    • Added filterCategories() static method to skip tests according to included and excluded categories.

Documentation

  • Removed release notes for versions prior to 1.0.0.0.