Skip to content

Releases: GafferHQ/gaffer

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.

Gaffer 1.2.10.2

30 Aug 09:00
Compare
Choose a tag to compare

Fixes

  • Arnold : Fixed screen window export for Lentil cameras.
  • 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).
  • GafferUI : Fixed TableView bug causing the horizontal scrollbar to potentially overlap the last row (#5328).
  • Viewer :
    • Fixed visualisation of Cycles point light size.
    • Fixed visualisation of Arnold light gobo textures with scaled UV coordinates.
  • Dispatch App : Fixed bug that prevented setting specific dispatcher plug values from the command line (#5434).

Gaffer 1.3.1.0

09 Aug 14:42
b951b75
Compare
Choose a tag to compare

Features

  • USDShader : Added a node for loading shaders from USD's SdrRegistry. This includes shaders such as UsdPreviewSurface and UsdUVTexture, which are now available in the USD/Shader section of the node menu.
  • USDLight : Added a node for defining UsdLux lights. This is available from the USD/Light section of the node menu.
  • SceneReader, SceneWriter : Added limited support for reading and writing Usd Volume prims.

Improvements

  • LightEditor : Added section displaying UsdLux shadow parameters.
  • Cycles : Added support for UsdLux lights.
  • LightTool : Added support for editing animated plugs.
  • Median, Erode, Dilate : Improved performance significantly for wide filters. Measured improvements of 100x faster for Erode/Dilate, and 10x faster for Median.

Fixes

  • SceneWriter : Fixed writing of UsdLux lights.
  • Viewer : Fixed visualisation of shaping cones for UsdLux lights, which were previously drawn at half the correct angle.
  • DisplayTransform : Fixed missing view presets when display is at the default value (#5392).
  • Arnold
    • Fixed translation of vector typed outputs defined as vector <name> in an output definition.
    • Fixed translation of shadow:enable and shadow:color parameters on UsdLux lights, which were previously ignored.
  • LightTool : Fixed bug causing non-settable plugs to be enabled, such as plugs with an expression as input or those using the default spreadsheet row for their value. This generated the error ERROR : EventSignalCombiner : Cannot set value for plug {plug} except during computation.
  • LightEditor : Fixed toggling values in cases where inherited light attributes were set by a script context variable without including a default.
  • GLWidget : Fixed rare crash when showing a GLWidget for the first time.
  • BranchCreator : Fixed bug which could cause inconsistent hashes to be generated.
  • Cycles :
    • Fixed rendering of meshes with faceted normals, which were previously being rendered as smooth. This applies to meshes without an N primitive variable, and meshes where N has Uniform or FaceVarying interpolation. Note that Cycles has no native support for FaceVarying interpolation so that in this case all faces are rendered faceted.
    • Fixed translation of Uniform N primitive variables. These are now available to be queried from the standard Ng attribute in Cycles.
  • ImageSampler : Fixed handling of exceptional floating point values. Now returns inf if inf values are present in the image, rather than 3.4e38.
  • Merge :
    • Fixed the Difference operation to return correct values for exceptional floating point values. Now there is 0 difference between inf and inf, or NaN and NaN. Additionally, there is infinite difference between NaN and any other number, so assertImagesEqual will correctly report NaNs that don't belong.
    • Fixed the Divide operation to return 0 for 0/0. This is consistent with how we previously handled fully black tiles, and avoids introducing NaN values which create problems in compositing.
  • Median/Erode/Dilate : Fixed possible crash bug if there were NaNs in the input image.
  • ValuePlug : Fixed bug which caused ComputeNode::computeCachePolicy() to be called unnecessarily for input plugs in some circumstances. This could affect performance, particularly when the plug belonged to a node implemented in Python.

API

  • OptionalValuePlug : Added a new plug type that pairs an enabled BoolPlug with a value ValuePlug.
  • Shader : Added support for using OptionalValuePlug to represent optional parameters.

Build

  • Cortex : Updated to version 10.5.1.0.