Releases: GafferHQ/gaffer
Releases · GafferHQ/gaffer
Release list
Nightly Builds
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
Fixes
- Arnold : Fixed unwanted overrides of shaders inside
.assprocedurals (#7163). - Set expressions : Fixed potential crash.
- RenderMan : Fixed handling of
ri:trace:worldoriginoption. - SceneAlgo : Fixed potential deadlock in
parallelGatherLocations().
Gaffer 1.7.3.0
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
layerPerLightGroupboolean 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
defaultlight group.
- Added support for the
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
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
automaticInstancingattribute.
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.orientationsfattribute. Previously only the half-precisionorientationsattribute 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:namesoption 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
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.orientationsfattribute. Previously only the half-precisionorientationsattribute was supported.
Build
- Cortex : Updated to version 10.6.7.2.
Gaffer 1.7.1.0
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
instanceIDAOV. - 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
P3dandN3dGeomParams from Alembic files. - UIEditor : Added
Inlinecheckbox 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 deletederrors when a plug stops being laid out as an inline accessory, such as when itslayout:accessorymetadata 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.
- Fixed rendering of shaders written with
- 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
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 deletederrors when a plug stops being laid out as an inline accessory, such as when itslayout:accessorymetadata 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.
- Fixed rendering of shaders written with
- 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
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
Pinnedwrap mode in addition to the existingPeriodicandNonPeriodicmodes. 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
basisandwrap. This includes the ability to convert curves withPinnedwrap toNonPeriodic, 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:__materialidattribute. - 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:exclusionsandshadowedLights:exclusionsattributes, specifying lights that never illuminate or cast shadows from an object. - Added
filteredLights:exclusionsattribute, specifying lights that are never filtered by a light filter. - Moved
filteredLightsandfilteredLights:exclusionsto a new "Light Filters" section in the NodeEditor and AttributeEditor.
- Added
- LightFilter, ArnoldLightFilter, RenderManLightFilter : Added
filteredLightsExclusionsplug. - SceneWriter :
- Defaulted to writing RenderMan attributes in a format compatible with
hdPrman, for rendering inusdviewand other Hydra-based applications. - Defaulted to writing OSL shaders in a format compatible with
hdPrman, for rendering inusdviewand other Hydra-based applications.
- Defaulted to writing RenderMan attributes in a format compatible with
- Outputs : Added output presets for RenderMan's NPR AOVs.
- AttributeTweaks, AttributeVisualiser, ShaderAssignment, ShaderTweaks, ShuffleAttributes : Added
globalplug, to allow global attributes to be processed instead of usingfilterto 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_volumeshader is now assigned via anai:volumeattribute instead ofai:surface. This matches volume assignments imported from USD, and means that Gaffer now exports materials to USD using the same convention. - InteractiveRender : Added
useVisibleSetplug. When on, only the scene locations contained in the Visible Set will be rendered. - Application :
- Applications now run using a dedicated
gafferexecutable instead ofpython. This means the root process is now calledgafferon all platforms. Thebin/gaffer(Linux) andbin/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.
- Applications now run using a dedicated
- CyclesAttributes : Added
cycles:adaptive_spaceattribute. - CyclesOptions : Added
cycles:integrator:volume_ray_marchingoption. - LightEditor :
- Added column for
cycles:visibility:cameraattribute. - USD lights now display default values for parameters that haven't been authored on the light. These are presented as dimmed "fallback" values.
- Added column for
- LightEditor, SceneInspector : Changed default tweak mode to
Createfor 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
SetExpressionIncludeandSetExpressionExcludemodes 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:typemetadata lookups. Previously these ignored metadata registered tolight:{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>:widthmetadata 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
treatAsPointandtreatAsLineUsdLuxLight parameters. These are now ignored, matching the behaviour ofhdPrman. - Fixed PxrDisplace shader assignments, which now target the
ri:displacementattribute rather thanosl:displacement. This renders as before in Gaffer, but is more compatible with other applications when exported to USD.
- Fixed handling of
- 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 objectswhere 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
variablesplugs with an input connection. - Prevented invalid input connections to
variablesplugs. Connections from node outputs are considered invalid because they could create a circular dependency between context variables.
- Fixed context updates for
- 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...
Gaffer 1.6.21.4
Fixes
- RenderMan : Added
IECORERENDERMAN_LEGACY_TEXTURECOORDINATE_BEHAVIOURenvironment variable, as a partial opt-out from the bugfix introduced in 1.6.21.0. Setting the variable to a value of1causes USDtexCoord3fprimitive variables to be exported to RenderMan aspointrather thanfloat[3], as they were prior to 1.6.21.0. This is not correct, but allows folks who have been authoring__PrefastexCoord3fto temporarily continue to work as before.
Gaffer 1.7.0.0 alpha 10
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.executablefor launching a Python process.sys.executablenow points to the includedpythonexecutable instead ofgaffer1. - 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 :
- MeshNormals : Fixed bug that created an unnamed PrimitiveVariable if the
normalplug 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.