Releases: GafferHQ/gaffer
Releases · GafferHQ/gaffer
Gaffer 1.4.6.0
Improvements
- EditScopePlugValueWidget : Added icon representing the Edit Scope node colour.
Fixes
- LightPositionTool : Fixed bug that caused the target/pivot positions to be lost when placing a light with Z scale not equal to 1.0.
- SceneWriter :
- Fixed writing of locations with names that are not valid USD identifiers.
- Fixed handling of shader parameters not supported in USD, such as texture inputs to OpenGLShader.
- SceneReader : Fixed duplicate loading of
arnold:*
attributes on lights. These are now omitted, since they are converted to parameters on the light shader itself. - ShaderTweaks : Fixed potential crash if a ShaderTweakProxy was used to accidentally create a cyclic connection.
- Spreadsheet : Fixed "Sets", "Operators" and "Select Affected Objects" popup menu items, which were broken in 1.4.5.0.
Build
- Cortex : Updated to version 10.5.8.0.
API
- Menu : Menu items with "checkBox" enabled now draw their checked indicator in place of their "icon" when both are defined.
- Image : Added
createSwatch()
static method.
Gaffer 1.3.16.4
Fixes
- SceneWriter : Fixed writing of locations with names that are not valid USD identifiers.
- LightPositionTool : Fixed bug that caused the target / pivot positions to be removed when placing a light with Z scale not equal to 1.0.
Gaffer 1.4.5.0
Features
- ShaderTweaks : Added support for creating ShaderTweakProxy nodes that allow making input connections to the original network.
- 3Delight : Added interactive Viewer renderer.
Improvements
- SetFilter, StandardAttributes, StandardOptions : Added syntax highlighting and auto-complete for set expressions.
- NodeEditor, UIEditor, PythonEditor : Added popup hint for the Ctrl+Return shortcut.
- CodeWidget : Added highlighting of braces and operators.
- RenderPassEditor : Added preset menu for choosing a render pass type from the list of available registered types. An "auto" type is included in the list when an auto type function has been registered.
- OptionTweaks : Tweak
value
plugs can now access metadata registered globally tooption:{tweakName}
, where{tweakName}
is the value of the tweak'sname
plug. - Spreadsheet : Added support for metadata to be automatically forwarded from plugs downstream of a column's
out
plug to the column's default row.
Fixes
- CodeWidget :
- Removed unwanted
\n
prefix in lines passed toCompleters
. - Prevented spurious emission of
editingFinishedSignal()
when showing the completions menu. - Prevented the completion menu from popping up inappropriately when the highlighter was changed.
- Removed unwanted
- MultiLineTextWidget :
- Fixed rendering of disabled widgets, which now show faded text.
- Fixed behaviour of
editingFinishedSignal()
to match TextWidget : it is now also emitted when the text is activated (seeactivatedSignal()
).
- MultiLineStringMetadataWidget : The Ctrl+Return shortcut now updates the metadata value immediately.
- UIEditor : The Ctrl+Return shortcut now updates the button code immediately.
- Cryptomatte :
- Fixed errors when the input image didn't contain the main
RGBA
channels. - Fixed inaccurate hash.
- Fixed errors when the input image didn't contain the main
- SceneAlgo : Fixed exception handling for Python render adaptors. Previously an exception during adaptor construction caused a
SystemError
. - InteractiveRender :
- Fixed crash triggered by a render adaptor depending on its
renderer
input to adapt the scene globals. - Removed unintentional ability for render adaptors to change the renderer being used.
- Fixed crash triggered by a render adaptor depending on its
API
- TextWidget : Added
selectedText()
convenience method. - MultiLineTextWidget : Added
setSelection()
andgetSelection()
methods. - SetExpressionPlugValueWidget : Added new editor for set expressions, with syntax highlighting and auto-complete.
- RenderPassTypeAdaptor : Added
autoTypeFunction()
method.
Gaffer 1.4.4.0
Features
- RenderPassEditor :
- Added
type
column for configuring specific passes to render with a predefined type. We provide default configurations of a number of render pass types, these can be modified to suit specific workflows via the RenderPassShader node or by registering new types and processors via the RenderPassTypeAdaptor in a startup file. - The default render pass type configurations include :
- A "shadow" type for catching shadows cast by
caster
locations oncatcher
locations. - A "reflection" type for catching reflections cast by
caster
locations oncatcher
locations. The roughness of the reflective material can be configured per catcher location by creating auser:renderPass:reflectionCatcher:roughness
float attribute. - A "reflectionAlpha" type for catching reflection mattes cast by
caster
locations oncatcher
locations. The colour of the matte can be configured per caster location by creating auser:renderPass:reflectionCaster:color
Color3f attribute.
- A "shadow" type for catching shadows cast by
- Added
- RenderPassShader : Added new node for overriding a shader used by a render pass type.
Improvements
- 3Delight :
- Added support for multipart EXR renders by using the same file name parameter on multiple outputs.
- Added support for scalarformat, colorprofile, filterwidth and arbitrary custom NSI outputlayer and outputdriver attributes.
- Updated the default output presets to include scalarformat, colorprofile, filter and filterwidth output parameters.
- LightPositionTool : Changed the pointer to
notEditable
when using keyboard combinations that do not apply to the current tool mode. - LightEditor : Added the ability to register columns for editing any parameter in a light's shader network. The parameter to edit is registered in the form
shaderName.parameterName
when callingGafferSceneUI.LightEditor.registerParameter
. - PathFilterUI : Added the ability to drag and drop scene paths onto Box and Reference nodes. Doing so will create a new PathFilter with the selected paths if none is connected, or update an existing connected PathFilter.
Fixes
- SceneReader, SceneWriter : Fixed handling of Arnold-specific parameters on UsdLux lights.
- SceneWriter : Fixed import of
treatAsPoint
andtreatAsLine
parameters on UsdLux lights. - Linux : Fixed crashes at startup on platforms - including RHEL 9.4 - with a more recent
glibc
(#5856). - LightPositionTool : Fixed bug that allowed a non-light object to be moved by clicking or dragging the target or pivot.
- OptionQuery : Fixed bug which allowed the
scene:path
context variable to leak into the context used to evaluate the globals.
API
- ShaderPlug : Added
parameterSource()
method returning theValuePlug
responsible for generating a parameter in a shader network. - ParameterInspector : Added the ability to inspect parameters on any shader in a light or shader's shader network.
- RenderPassTypeAdaptor :
- Added registration methods for defining render pass types and processors.
- Added
registerAutoTypeFunction()
method to define a function used to automatically derive the render pass type from the render pass name when therenderPass:type
option value is "auto".
Gaffer 1.4.3.0
Features
- 3Delight : Added "3Delight Cloud" renderer, for rendering using the 3Delight cloud.
Improvements
- Arnold : If it exists, an
ai:volume
attribute is preferred over anai:surface
attribute when resolving shaders for volumes. - Cycles :
- Updated the UI of Cycles shaders and lights for ease of use and to match Blender conventions.
- Hide certain parameters based on UI selections.
- Renamed and reordered parameters and created sections to match Blender.
- Changed all the Cycles items in the Gaffer tab menu to title case.
- PythonCommand : Added standard popup menu to
command
widget in NodeEditor.
Fixes
- Arnold :
- Fixed rendering of
ai:volume
shaders loaded from USD (#5830). - Renamed Arnold/Globals/Imager menu option to Arnold/Globals/Imagers so that the actual ArnoldImager node menu option wasn't overwritten.
- Fixed rendering of
- CodeWidget : Fixed errors handling highlights which spanned more than one line, such as triple-quoted strings in the PythonEditor.
- NodeEditor : Fixed broken layouts caused by computation errors in plugs used by section summaries.
- ColorChooserPlugValueWidget : Fixed bug that allowed the editing of locked plugs and nodes.
API
- SceneAlgo : Added mechanism for scoping render adaptors to specific clients and/or renderers.
Build
- Fixed issue where
gaffer
wrapper may not exist when callingusdGenSchema
from a clean build.
Gaffer 1.3.16.3
Fixes
- ColorChooserPlugValueWidget : Fixed bug that allowed the editing of locked plugs and nodes.
Gaffer 1.4.2.0
Features
- ContactSheet : Added new node for creating contact sheets from multiple input images.
- LightPositionTool : Added
Diffuse
mode for placing lights along the normal of the target position.
Improvements
- TweakPlug :
ListAppend
,ListPrepend
andListRemove
modes are now supported for string values. In this case, the string is treated as a space-separated list. - Cycles :
- Changed default value for
principled_bsdf.specular_ior_level
to0.5
, matching Blender. - Added support for
uv.tangent
anduv.tangent_sign
primitive variables to assist in rendering with normal maps (#5269).
- Changed default value for
- AttributeQuery, PrimitiveVariableQuery, ContextQuery, OptionQuery, ShaderQuery : Added support for querying arrays of length 1 as their equivalent scalar types.
- CodeWidget : Added Ctrl+L shortcut for selecting all text on the current line.
- AttributeTweaks, CameraTweaks, ShaderTweaks, OptionTweaks, PrimitiveVariableTweaks :
- Added support for a
{source}
token which is substituted with the original value when tweaking a string inReplace
mode. - Added tooltips documenting the tweak modes.
- Added support for a
- 3Delight : Added automatic render-time translation of UsdPreviewSurface shaders to 3Delight.
- USDLight :
- Added Arnold-specific extension parameters.
- Added parameter tooltips.
- LightEditor : Added columns for Arnold-specific parameters on USD lights.
- Switch : Added
deleteContextVariables
plug.
Fixes
- Viewer : Fixed Cycles shader balls.
- TweakPlug : Fixed incorrect results and potential crashes in list modes.
- USD : Fixed
Unsupported value type "StringData" for parameter "input"
warning when convertingUsdTransform2d
shaders with noin
connections to Arnold. - File Browser : Windows only : Fixed bug in
HiddenFilePathFilter
that caused sequences to be treated as though they are hidden files (#5810).
API
- PlugAlgo :
setValueFromData()
andcanSetValueFromData()
now support conversion of arrays of length 1 to their equivalent scalar types. - BoxPlug : Added Python bindings for
ValueType
,PointType
andChildType
type aliases. - RenderPassEditor : Added
deregisterColumn()
method. - DocumentationAlgo : Added table and strikethrough support to
markdownToHTML()
. - LightEditor : Added
columnName
parameter toregisterParameter()
method, matching the behaviour ofRenderPassEditor.registerOption()
. - USDShader : Added support for loading from the UsdSchemaRegistry as well as from the SdrRegistry. This is now used when loading UsdLuxLights.
- PlugLayout : Added support for activators in Boxes and extension nodes by allowing
layout:activator:activatorName
metadata to contain a Python string to be executed. Execution is performed in an environment where aparent
variable refers to node or plug represented by the layout, and from which plug values can be obtained. - ContactSheetCore : Added a new node to do provide the basis for networks that create contact sheets from multiple input images.
Build
- MacOS : Fixed issue where
Python.framework
may not be found when building with a prebuilt dependencies package.
Gaffer 1.3.16.2
Fixes
- File Browser : Windows only : Fixed bug in
HiddenFilePathFilter
that caused sequences to be treated as though they are hidden files (#5810).
Gaffer 1.4.1.0
Features
- MeshTessellate/MeshType : Added support for special-purpose subdiv options: interpolateBoundary, faceVaryingLinearInterpolation, triangleSubdivisionRule.
Improvements
- Group : Added
sets
plug, to control what sets the group belongs to. - USD : Added automatic render-time translation of UsdPreviewSurface shaders to Cycles.
- SetEditor : Added support for dragging a set name onto a node in the Graph Editor to create or modify a connected
SetFilter
node. Holding Shift while dragging will add to the set expression. Holding Control will remove from the set expression. Only set expressions with a simple list of sets are supported. Expressions with boolean or hierarchy operators are not supported. - GraphEditor : Improved pointer used to indicate when dropping a location would find the source node.
- RenderPassEditor :
- Added "Camera Inclusions" and "Camera Exclusions" columns, providing control over the camera visibility of scene locations in each render pass.
- Added "Matte Inclusions" and "Matte Exclusions" columns, providing control over the scene locations used as holdout mattes in each render pass.
Fixes
- NameSwitch : Fixed NodeEditor tab order, so that the Settings tab precedes the Advanced tab.
- NodeAlgo : Fixed presets inheritance for promoted plugs with multiple outputs.
- TaskNode / GafferCortex : Fixed missing GIL releases that caused hang at ImageEngine.
Build
- Cortex : Updated to version 10.5.7.0.
- OpenEXR : Updated to version 3.1.13.
- USD : Added
sdrOsl
, for inclusion of OSL shaders in the Sdr Registry.
Gaffer 1.3.16.1
Fixes
- NodeAlgo : Fixed presets inheritance for promoted plugs with multiple outputs.
- TaskNode / GafferCortex : Fixed missing GIL releases that caused hang at ImageEngine.