Sitelet https://github.com/GafferHQ/gaffer/releases
Skip to content

Releases: GafferHQ/gaffer

Nightly Builds

Nightly Builds Pre-release
Pre-release

Choose a tag to compare

@murraystevenson murraystevenson released this 28 Oct 00:29

Nightly builds provide early access to the latest features and improvements before they are released in the next Gaffer major version (1.8).

As these are pre-release builds, they are not supported for production use and we do not guarantee ABI compatibility between builds or script compatibility with previous major versions.

Builds are only published if they contain changes from the previous nightly, so a new build may not appear every night.

Gaffer 1.7.3.1

Choose a tag to compare

@murraystevenson murraystevenson released this 25 Sep 19:24

Fixes

  • Arnold : Fixed unwanted overrides of shaders inside .ass procedurals (#7163).
  • Set expressions : Fixed potential crash.
  • RenderMan : Fixed handling of ri:trace:worldorigin option.
  • SceneAlgo : Fixed potential deadlock in parallelGatherLocations().

Gaffer 1.7.3.0

Choose a tag to compare

@murraystevenson murraystevenson released this 18 Sep 21:48

Features

  • PointInstancerQuery : Added a new node for querying the properties (prototype, transform, visibility etc) of a specific instance within a PointInstancer.

Improvements

  • EditScope : Disabled the additional ➕ gadgets in the GraphEditor by default. They can be shown again using the UIEditor if necessary.
  • RenderMan :
    • Added support for the layerPerLightGroup boolean parameter on outputs. When enabled, the output is automatically split into separate layers, one for each light group.
    • Lights without a specific light group defined are now added to the default light group.

Fixes

  • PointInstancer : Fixed rendering of points and/or prototypes with zero scale.
  • StandardLightVisualiser : Fixed missing wireframe segment when visualising quad lights.

API

  • TestCase : Added Quatf support to assertEqualWithAbsError().

Gaffer 1.7.2.0

Choose a tag to compare

@murraystevenson murraystevenson released this 15 Sep 02:20

Features

  • VisibilityQuery : Added a node for querying the visibility of a particular scene location.
  • PrimitiveVariableType : Added a node for changing the type and interpretation of primitive variables (#7111).

Improvements

  • Cycles : Added support for the standard automaticInstancing attribute.

Fixes

  • Cycles : Fixed rendering of shaders written with IECOREUSD_WRITE_CONFORMANT_OSL_SHADERS=1.
  • MergeMeshes, MergeCurves, MergePoints : Fixed crash when merge is sorted by a primitive variable and none of the locations to merge contain primitives.
  • NodeEditor : Fixed flicker when changing the node being viewed.
  • Linux : Fixed startup from installation directory containing spaces.
  • SceneReader : Fixed loading of float-precision orientations from the USD PointInstancer.orientationsf attribute. Previously only the half-precision orientations attribute was supported.
  • Viewer : Fixed colourspace handling for PNG files loaded as textures for custom OpenGL shaders.
  • PointInstancer : Fixed potential interactive render update bug.
  • RenderPassEditor, DeleteRenderPasses : Fixed bugs which made it appear that the renderPass:names option was allowed to be dependent on the ${renderPass} context variable.

API

  • Switch, NameSwitch : Added support for subclassing in Python.
  • SceneAlgo : Added renderPassNames() utility method.

Build

  • Cortex : Updated to version 10.7.1.3.

Gaffer 1.6.21.6

Choose a tag to compare

@murraystevenson murraystevenson released this 15 Sep 01:05

Fixes

  • Cycles : Fixed rendering of shaders written with IECOREUSD_WRITE_CONFORMANT_OSL_SHADERS=1.
  • MergeMeshes, MergeCurves, MergePoints : Fixed crash when merge is sorted by a primitive variable and none of the locations to merge contain primitives.
  • SceneReader : Fixed loading of float-precision orientations from the USD PointInstancer.orientationsf attribute. Previously only the half-precision orientations attribute was supported.

Build

  • Cortex : Updated to version 10.6.7.2.

Gaffer 1.7.1.0

Choose a tag to compare

@murraystevenson murraystevenson released this 28 Aug 23:22

Note : RenderMan 26.4 is no longer supported on Windows, due to being unavailable for download from https://renderman.pixar.com.

Features

  • LevelSetSmooth : Added a new node for smoothing OpenVDB level sets.

Improvements

  • PointInstancer : Integrated with the instanceID AOV.
  • SetFilter, Scene Editors : Set expressions containing operators are now editable via drag and drop of set names.
  • NodeEditor : Scene locations can now be dropped to pin the editor to their source node. Locations may be dragged from the Viewer, AttributeEditor, LightEditor, HierarchyView and LightLinkingEditor.
  • Arnold : Added support for V3dVectorData primitive variables. These are converted to float vectors, since Arnold does not support doubles.
  • SceneReader : Added support for reading P3d and N3d GeomParams from Alembic files.
  • UIEditor : Added Inline checkbox to the Widget Settings section for all widget types (#6523).

Fixes

  • LevelSetOffset : Fixed crash when attempting to offset grid types other than FloatGrid.
  • AttributeTweaks, CustomAttributes, OptionTweaks, CustomOptions, OptionQuery : Fixed contexts used by "From Scene", "From Selected" and "From Affected" menu items. This fixes errors caused by missing context variables (such as script variables).
  • GraphEditor : Stopped drag & dropped scene locations from navigating to private internal nodes.
  • PlugLayout : Fixed Internal C++ object already deleted errors when a plug stops being laid out as an inline accessory, such as when its layout:accessory metadata was changed or removed, or when the plug it was grouped with was hidden or deleted (#6938).
  • Arnold :
    • Fixed rendering of shaders written with IECOREUSD_WRITE_CONFORMANT_OSL_SHADERS=1.
    • Fixed crash translating network where all shaders are invalid.
  • ReferenceTest, 3Delight RendererTest : Fixed leakage of modified environment. This is handled in the TestCase base class, so in future no test can accidentally leak modifications.

API

  • ImageAlgo : Deprecated image() method. This will be removed in Gaffer 1.8.

Build

  • Cortex : Updated to version 10.7.1.0.

Documentation

  • Light Linking : Updated the Light Linking Basics example to use USD lights and shaders so it is now applicable to Cycles and RenderMan as well as Arnold.

Gaffer 1.6.21.5

Choose a tag to compare

@murraystevenson murraystevenson released this 28 Aug 23:20

Note : RenderMan 26.4 is no longer supported on Windows, due to being unavailable for download from https://renderman.pixar.com.

Fixes

  • LevelSetOffset : Fixed crash when attempting to offset grid types other than FloatGrid.
  • AttributeTweaks, CustomAttributes, OptionTweaks, CustomOptions, OptionQuery : Fixed contexts used by "From Scene", "From Selected" and "From Affected" menu items. This fixes errors caused by missing context variables (such as script variables).
  • PlugLayout : Fixed Internal C++ object already deleted errors when a plug stops being laid out as an inline accessory, such as when its layout:accessory metadata was changed or removed, or when the plug it was grouped with was hidden or deleted (#6938).
  • Arnold :
    • Fixed rendering of shaders written with IECOREUSD_WRITE_CONFORMANT_OSL_SHADERS=1.
    • Fixed crash translating network where all shaders are invalid.
  • ReferenceTest, 3Delight RendererTest : Fixed leakage of modified environment. This is handled in the TestCase base class, so in future no test can accidentally leak modifications.

Gaffer 1.7.0.0

Choose a tag to compare

@murraystevenson murraystevenson released this 13 Aug 17:56
b00af2b

Features

  • Cycles : Updated to version 5.1.0.
  • RenderMan : Added support for RenderMan 27.3.
  • LightLinkingEditor : Added a new editor UI for inspecting and editing light links.
  • SceneInspector : Added Statistics tab with aggregated geometry statistics for the entire scene.
  • PointInstancer : Added new node for creating PointInstancer objects (#6810). This has the following benefits over the old Instancer node :
    • Prototypes and points that are editable downstream.
    • Export to USD.
    • Faster rendering.
  • FlamencoDispatcher : Added a new node for sending tasks to Blender's Flamenco render farm manager.
  • CurvesPrimitive : Added Pinned wrap mode in addition to the existing Periodic and NonPeriodic modes. This conveniently interpolates CatmullRom and BSpline curves to their endpoints automatically, without manual management of duplicate endpoints or "phantom vertices".
  • CurvesInterpolation : Added node for modifying CurvesPrimitive basis and wrap. This includes the ability to convert curves with Pinned wrap to NonPeriodic, adding the appropriate "phantom" points to maintain curve shape.
  • CurvesTangents : Added node for computing tangents on CurvesPrimitives (#6166).
  • PrimitiveQuery : Added a new node for querying a primitive's type and variable sizes.
  • FileList : Added node for listing matching files.
  • DeleteFiles : Added node for deleting files.
  • CopyFiles : Added node for copying files.
  • RenameFiles : Added node for renaming files.
  • RandomPrimitiveVariable : Added new node for creating random per-face or per-vertex primitive variables with a variety of distributions.
  • QuantizePrimitiveVariables : Added new node for quantizing the values of primitive variables.
  • CopyObject : Added new node for copying objects from one scene to another.
  • SceneStats : Added a new node for computing aggregate scene statistics.
  • DeleteGrids : Added node for deleting grids from locations containing OpenVDB volumes.
  • DataStore : Added new node for storing large data alongside a Gaffer script, which is more efficient than storing large data inside the script file. Data is stored on the DataStore node by calling setEntry, instead of setting plug values. This node will be used as a basis of future tools that create data within Gaffer.
  • Graph Editor : Added location bar for navigation through Boxes and References. Text and button interactions can be used to navigate the node hierarchy. Forward and back buttons are provided to step through the history (#6008).

Improvements

  • GraphEditor :
    • Changed node context menu items to operate on multiple nodes where possible (#2783).
    • Added drag & drop from LightEditor and AttributeEditor. Dropping a location navigates to the node that created the location.
    • Added context menu item and keyboard shortcut, /, for hiding all of a node's unconnected plugs.
    • Added C shortcut for setting node colors.
  • RenderMan : Changed PxrCryptomatte's material output to use the name of the terminal shader, rather than a hash of the network. This is stable under animation. As before, the output can be customised by creating a user:__materialid attribute.
  • SpreadsheetUI : Added "Output" row, showing the output value computed for each column. Cells in this row can be left-dragged to connect the column to a plug, or middle-dragged to transfer the current value.
  • Viewer : Added keyboard shortcut ; to toggle between the lookthrough (camera / light) view and the free (perspective / top / front / side) cameras. Ctrl + click on the toolbar camera icon will perform the same toggle.
  • ArnoldOptions : Added new "Scene Description" options to control how Arnold archive files are written. "Binary" can be disabled to produce human readable files, and "Open Procs" expands procedurals, making it possible to write Gaffer scenes that use encapsulation.
  • StandardAttributes :
    • Added linkedLights:exclusions and shadowedLights:exclusions attributes, specifying lights that never illuminate or cast shadows from an object.
    • Added filteredLights:exclusions attribute, specifying lights that are never filtered by a light filter.
    • Moved filteredLights and filteredLights:exclusions to a new "Light Filters" section in the NodeEditor and AttributeEditor.
  • LightFilter, ArnoldLightFilter, RenderManLightFilter : Added filteredLightsExclusions plug.
  • SceneWriter :
    • Defaulted to writing RenderMan attributes in a format compatible with hdPrman, for rendering in usdview and other Hydra-based applications.
    • Defaulted to writing OSL shaders in a format compatible with hdPrman, for rendering in usdview and other Hydra-based applications.
  • Outputs : Added output presets for RenderMan's NPR AOVs.
  • AttributeTweaks, AttributeVisualiser, ShaderAssignment, ShaderTweaks, ShuffleAttributes : Added global plug, to allow global attributes to be processed instead of using filter to process per-location attributes.
  • ShaderTweaks :
    • Added tweaking of integrators, background shaders, atmosphere shaders and render pass shaders.
    • Added support for tweaking ramp parameters.
  • ArnoldShader : The standard_volume shader is now assigned via an ai:volume attribute instead of ai:surface. This matches volume assignments imported from USD, and means that Gaffer now exports materials to USD using the same convention.
  • InteractiveRender : Added useVisibleSet plug. When on, only the scene locations contained in the Visible Set will be rendered.
  • Application :
    • Applications now run using a dedicated gaffer executable instead of python. This means the root process is now called gaffer on all platforms. The bin/gaffer (Linux) and bin/gaffer.cmd (Windows) launch scripts should still be used as before (#6654).
    • Increased the main thread stack limit to 4MB on Windows (#6809).
    • Matched TBB worker thread stack limit to the limit for the main thread. On Linux, this can be configured with ulimit -s.
  • CyclesAttributes : Added cycles:adaptive_space attribute.
  • CyclesOptions : Added cycles:integrator:volume_ray_marching option.
  • LightEditor :
    • Added column for cycles:visibility:camera attribute.
    • USD lights now display default values for parameters that haven't been authored on the light. These are presented as dimmed "fallback" values.
  • LightEditor, SceneInspector : Changed default tweak mode to Create for newly created parameter tweaks.
  • OpenColorIO : Added ACES Studio 2.0 config. The default config is still ACES 1.3, due to RenderMan not supporting ACES 2.0.
  • SceneReader, SceneWriter : Added support for pinned UsdGeomBasisCurves.
  • OSLCode : The OSL shader is now compiled on demand, rather than every time the node is edited. This avoids many redundant attempts at recompilation when loading nodes with many parameters.
  • ArnoldMeshLight, RenderManMeshLight : Added support for deformation motion blur (#6869). In the case of RenderMan, this only affects the camera-visible mesh, since RenderMan doesn't yet support deformation for the light itself.
  • TweakPlug : Added SetExpressionInclude and SetExpressionExclude modes for tweaking set expressions.

Fixes

  • MenuBar : Made the main window menu extension button more visible. This button is shown when the window is not wide enough to show all menu items.
  • LightUI : Fixed nodule:type metadata lookups. Previously these ignored metadata registered to light:{name}:{parameterName}.
  • LightEditor :
    • Fixed bug preventing the "Copy Path" menu item from appearing when the current selection contained locations not shown in the LightEditor.
    • Fixed context used to compute the solo column header icon, this now uses the correct context with respect to the focus node.
  • PathListingWidget : Paths dragged from a PathListingWidget now preserve the order in which they are displayed.
  • PlugLayout : <layoutName>:width metadata is now correctly reapplied to widgets with labels when a PlugLayout is rebuilt.
  • MenuButton : Fixed immediate mode when the menu contained a single submenu.
  • RandomChoice : Fixed "Value/Weight" table headers when first setting up the node.
  • VectorDataPlugValueWidget : Fixed handling of custom header metadata when adding and removing columns.
  • RenderMan :
    • Fixed handling of treatAsPoint and treatAsLine UsdLuxLight parameters. These are now ignored, matching the behaviour of hdPrman.
    • Fixed PxrDisplace shader assignments, which now target the ri:displacement attribute rather than osl:displacement. This renders as before in Gaffer, but is more compatible with other applications when exported to USD.
  • FocalBlur : Fixed issue with excess alpha near depth discontinuities. This resulted in small bright edges near silhouettes where there is a sharp change in depth.
  • Filter : Fixed bug with Select affected objects where only the relevant locations from one scene connected to the filter would be included in the selection instead of from all scenes connected to the filter.
  • ScriptNode :
    • Fixed context updates for variables plugs with an input connection.
    • Prevented invalid input connections to variables plugs. Connections from node outputs are considered invalid because they could create a circular dependency between context variables.
  • EditMenu : Added popup dialogue when errors occur during "cut" or "copy" operations.
  • Arnold :
    • Fixed fallback to a facing ratio shader when a shader is removed during an interactive render.
    • Fixed crash attempting to render with a shader that doesn't exist.
  • Catalogue : Fixed errors caused by undoing an image deletion or snapshot.
  • Gaffer module : Fixed bug preventing environment() from returning environment variables modified after startup on macOS.
  • NodeEditor : Fixed redundant updates when editing private plug...
Read more

Gaffer 1.6.21.4

Choose a tag to compare

@murraystevenson murraystevenson released this 13 Aug 17:51

Fixes

  • RenderMan : Added IECORERENDERMAN_LEGACY_TEXTURECOORDINATE_BEHAVIOUR environment variable, as a partial opt-out from the bugfix introduced in 1.6.21.0. Setting the variable to a value of 1 causes USD texCoord3f primitive variables to be exported to RenderMan as point rather than float[3], as they were prior to 1.6.21.0. This is not correct, but allows folks who have been authoring __Pref as texCoord3f to temporarily continue to work as before.

Gaffer 1.7.0.0 alpha 10

Pre-release

Choose a tag to compare

@murraystevenson murraystevenson released this 07 Aug 18:19

Features

  • RandomPrimitiveVariable : Added new node for creating random per-face or per-vertex primitive variables with a variety of distributions.
  • ArnoldOptions : Added new "Scene Description" options to control how Arnold archive files are written. "Binary" can be disabled to produce human readable files, and "Open Procs" expands procedurals, making it possible to write Gaffer scenes that use encapsulation.

Improvements

  • GraphEditor : Added C shortcut for setting node colors.
  • SceneView : Added keyboard shortcut ; to toggle between the lookthrough (camera / light) view and the free (perspective / top / front / side) cameras. Ctrl + click on the toolbar camera icon will perform the same toggle.

Fixes

  • Application : Fixed bug that prevented the use of sys.executable for launching a Python process. sys.executable now points to the included python executable instead of gaffer 1.
  • MenuButton : Fixed immediate mode when the menu contained a single submenu.
  • RandomChoice : Fixed "Value/Weight" table headers when first setting up the node.
  • VectorDataPlugValueWidget : Fixed handling of custom header metadata when adding and removing columns.
  • RenderMan :
    • Fixed handling of treatAsPoint and treatAsLine UsdLuxLight parameters. These are now ignored, matching the behaviour of hdPrman.
    • Fixed handling of connections between floats and color/vector components 2.
    • Fixed bug preventing attributes from being deleted from lights during an interactive render 2.
  • MeshNormals : Fixed bug that created an unnamed PrimitiveVariable if the normal plug was set to "" 2.
  • VectorWarp : Fixed crash with pixel offsets much larger than any reasonable image 2.

Build

  • Cortex : Updated to version 10.7.0.0.
  1. Improvement to a feature introduced in 1.7.0.0a1, so should be omitted from final 1.7.0.0 release notes. ↩

  2. Included in 1.6.x.x, so should be omitted from final 1.7.0.0 release notes. ↩ ↩2 ↩3 ↩4