Skip to content

Releases: GafferHQ/gaffer

Gaffer 1.2.10.6

23 Feb 09:46
Compare
Choose a tag to compare

Fixes

  • Context : Fixed potential crash when setting a variable with ownership.

Gaffer 1.3.11.0

31 Jan 10:04
Compare
Choose a tag to compare

Features

  • 3Delight : Added support for USD SphereLight, RectLight, DiskLight, DistantLight, DomeLight and CylinderLight.
  • RenderPassEditor : Added a new editor UI for inspecting and editing render passes.

Improvements

  • Arnold :
    • ArnoldShader : Added a colour space presets menu for the image shader.
    • Added specific warning for outputs with space in name.
    • Added normal and depth AOVs.
  • CyclesShader : Added a colour space presets menu for the image_texture and environment_texture shaders (#5618).

Fixes

  • Reference : Fixed bug where GAFFER_REFERENCE_PATHS was not being searched when performing "Duplicate as Box" action.
  • Outputs :
    • Fixed bug which meant that adding an output via the UI was not undoable.
    • Fixed bug which allowed outputs to be added to a read-only node via the UI.

API

  • ArnoldShaderUI : Added support for colorSpace widget type metadata, allowing an OpenColorIO colour space to be chosen.
  • PathColumn : Added CellData::foreground member, to provide additional control over foreground colours in the PathListingWidget.

Gaffer 1.3.10.0

11 Jan 09:40
Compare
Choose a tag to compare

Features

  • LightPositionTool : Added tool to the scene viewer to place shadows. With a light selected, holding Shift + V and clicking on geometry will set the pivot point used for casting a shadow. Holding V and clicking sets the point to receive the shadow. The light is repositioned to be the same distance from the pivot, along the pivot-shadow point line, and oriented to face the shadow point.

Improvements

  • ArnoldShader, ArnoldColorManager, CyclesShader : Improved browsers for file parameters (#5592, #5602) :
    • Added filtering by extension.
    • Added bookmarks.
  • USDLight : Added file browser for shaping:ies:file parameter.
  • OpenColorIOContext : Added file browser for config plug.
  • Layouts : Added the ability to load layouts containing editors that aren't currently available. This allows layouts containing new editors introduced in Gaffer 1.4 to be loaded in Gaffer 1.3.
  • TranslateTool, RotateTool : Added tooltip to the upper left corner of the Viewer explaining how to use the target modes.
  • LightTool : Changed the color of the non-highlighted handles to orange and the highlighted handles to cyan for consistency with other highlight colors.
  • Outputs : Variable substitutions are now applied to gaffer:context:* image metadata values. This is needed when the value of a context variable contains references to other variables, with the default value for project:rootDirectory being one example.

Fixes

  • Arnold : Fixed translation of USD uchar attributes and shader parameters.
  • Orientation/Instancer : Now normalizes unnormalized quaternion inputs - this allows correctly processing files with primvars that contain unnormalized quaternions ( which it is possible to write from Houdini ).

API

  • EditScopeAlgo : Added support for editing options for a specific render pass.
  • ArnoldShaderUI : Added support for Gaffer filebrowser metadata in Arnold .mtd files. The following fields are supported, and correspond directly to the metadata documented on the PathPlugValueWidget and FileSystemPathPlugValueWidget :
    • path:leaf
    • path:valid
    • path:bookmarks
    • fileSystemPath:extensions
    • fileSystemPath:extensionsLabel

Gaffer 1.3.9.0

12 Dec 09:54
Compare
Choose a tag to compare

Improvements

  • 3Delight : Added support for subdivision corners and creases.
  • SetEditor :
    • Added "Selection" column displaying the number of currently selected members for each set.
    • Added "Hide Empty Selection" checkbox. When on, the SetEditor will only display sets with currently selected members.

Fixes

  • TransformTools : Fixed editing of XYZ component plugs with individual input connections, such as when only a single component is promoted to a Box.
  • AttributeQuery, OptionQuery, PrimitiveVariableQuery, ShaderQuery : Added support for querying values of all numeric data types, whereas before queries were limited to bool, int and float values.

API

  • PlugAlgo : setPlugFromData() now supports conversions from all numeric data types to BoolPlug, IntPlug and FloatPlug values.

Gaffer 1.3.8.0

28 Nov 11:57
Compare
Choose a tag to compare

Features

  • Viewer : Added "Snapshot To Catalogue" command to the right-click menu of the 3D view.
  • RenderPasses : Added new nodes for working with render passes. Render passes are defined as a list of names stored in the renderPass:names option in the scene globals, and can be used to dispatch tasks that vary based on those names. This can be useful for purposes such as producing multiple renders with varying object visibility and shading, or for writing variations of a scene to individual files.
    • RenderPasses : Added a new node for appending render passes to the scene globals.
    • DeleteRenderPasses : Added a new node for removing render passes from the scene globals.
    • RenderPassWedge : Added a new node for causing upstream tasks to be dispatched in a range of contexts where the value of the renderPass context variable is varied based on the render pass names defined in the renderPass:names option.

Improvements

  • GraphEditor : Added drag & drop of files into the graph editor, automatically creating a SceneReader, ImageReader or Reference node as appropriate.
  • ImageTransform, Resample : Improved performance for non-separable filters without scaling, with 2-6x speedups in some benchmark cases.
  • Outputs : Included renderPass in the filename for newly created Arnold, Cycles and 3Delight outputs. Allowing rendered images to be written to a specific directory based on the name of the current render pass.
  • GUI Config : Included renderPass in the default filename when writing ass files from an ArnoldRender node.
  • NameSwitch/Spreadsheet : Added "Render Pass" preset to selector plug.

Fixes

  • InteractiveRender : Fixed unnecessary updates to encapsulated locations when deforming an unrelated object.
  • InteractiveArnoldRender : Fixed creation of new Catalogue image when editing output metadata or pixel filter.
  • GraphEditor : Fixed error caused by additional connections to dragEnterSignal().
  • Windows Scene/OpenGL/Shader Menu : Removed \ at the beginning of menu items.
  • Arnold :
    • Fixed translation of UsdPreviewSurface normal maps.
    • Fixed translation of UsdPreviewSurface specularColor fallback value.
  • Scene History : Fixed error caused by Alt+E keypress on panels other than the Viewer, HierarchyView, LightEditor or NodeEditor.
  • ImageReader : Fixed crashes caused by null ustring metadata values.
  • Exception handling : Fixed memory leak caused by translation of IECore::Exception from C++ to Python and back again.

API

  • SceneGadget : Added snapshotToFile() method.
  • SceneAlgo :
    • Added history() overload for returning computation history independent of a scene location, this is useful when generating history from the globals.
    • Added optionHistory() method which returns a computation history for one specific option.
  • Widget : Added handling for drag & drop from an external application via the existing dragEnterSignal(), dragMoveSignal(), dragLeaveSignal() and dropSignal() signals.

Build

  • Cortex : Updated to version 10.5.4.2.
  • Instancer : Fixed ambiguous reference compilation errors when building with Boost 1.70.

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