Releases: GafferHQ/gaffer
Releases · GafferHQ/gaffer
Gaffer 1.4.8.0
Improvements
- SceneReader : ModelAPI
extentsHints
are now considered when loading the bounding box for a location in Gaffer. This can significantly reduce the time taken to load bounds for large USD assemblies. If necessary, this behaviour can be disabled by setting theIECOREUSD_USE_MODELAPI_BOUNDS
environment variable with a value of0
. - ColorChooser :
- Added channel names to identify sliders.
- Setting the saturation to zero no longer resets the hue and setting the value to zero no longer resets the hue and saturation.
- RenderPassEditor : Added "Select Affected Objects" popup menu item.
- Annotations :
- Added support for
{plug}
value substitutions in node annotations. - Added Ctrl + Enter keyboard shortcut to annotation dialogue. This applies the annotation and closes the dialogue.
- Added support for
- LightEditor : Added support for Arnold light blockers and barndoor, gobo and decay light filters.
Fixes
- Cycles : Fixed rendering to the Catalogue using the batch Render node (#5905). Note that rendering a mixture of Catalogue and file outputs is still not supported, and in this case any file outputs will be ignored.
- CodeWidget : Fixed bug that could prevent changes from being committed while the completion menu was visible.
- Loop : Fixed handling of empty
indexVariable
. This now disables the Loop instead of creating an unnamed context variable. - ColorChooser : Fixed emission of
colorChangedSignal()
while the widget was in an inconsistent internal state. - LazyMethod : Fixed errors caused by running idle callbacks without a valid Qt Widget.
API
- LightEditor : Added
deregisterColumn()
method for removing columns. - ShaderUI : Added support for
nodeGadget:color
metadata registered against{shaderType}:{shaderName}
, to specify per-shader colouring of nodes in the GraphEditor. - ArnoldShaderUI : Added support for
gaffer.nodeGadget.color
RGB metadata in.mtd
files, to specify per-shader colouring of nodes in the GraphEditor. - Loop : Added
nextIterationContext()
method. - AnnotationsGadget : Added
annotationText()
method. - ParallelAlgoTest : Added
UIThreadCallHandler.receive()
method. - LightEditor : Added
registerShaderParameter()
method for registering parameters for shader attributes that are not the same as therendererKey
.
Build
- Cortex : Updated to version 10.5.9.0.
Gaffer 1.3.16.6
Fixes
- LazyMethod : Fixed errors caused by running idle callbacks without a valid Qt Widget.
Gaffer 1.4.7.0
Improvements
- ShaderTweaks, ShaderQuery : Improved performance of parameter selection dialogue. For some particularly large shader networks, speedups are greater than 100x.
- UIEditor : Added code examples to button code placeholder text.
- Arnold
light_decay
:- Increased the size of the triangle indicators for the decay ranges.
- The decay range indicators are now scaled by the light's
gl:visualiser:scale
attribute. - The decay range is now ignored when framing a light in the Viewer.
- EditScopePlugValueWidget :
- When viewing the output of a Box, the menu now displays the Edit Scopes contained within.
- Added support for dropping an Edit Scope node onto the widget to set it as the current Edit Scope.
- Added support for middle-dragging from the widget to access the current Edit Scope node.
- ArnoldAttributes : Added syntax highlighting and auto-complete for set expressions on the
shadowGroup
plug. - OpenColorIO : When a script-level OpenColorIO variable contains a Gaffer
${contextVariable}
reference, its evaluation is now deferred to the point of use. This allows it to pick up overrides introduced by nodes such as ContextVariables and Wedge. - SceneInspector :
- Added support for dragging inspector labels, such as those containing the names of attributes, options, output parameters, parameters, primitive variables, and sets.
- Set names beginning with "__" such as "__lights" or "__cameras" are now displayed as-is, rather than being transformed to "Lights" or "Cameras".
- BackgroundTask : Added reporting of tasks attempting to wait for themselves.
Fixes
- Viewer : Fixed handling of Gaffer
${contextVariable}
references in OpenColorIO variable values. The Viewer now updates the Display Transform appropriately when the value of the context variable changes. - FramingConstraint : Fixed crash caused by attempts to constrain objects that were not cameras.
- SceneReader : Fixed error loading USD Volumes with empty fields. These will now issue a warning and load as empty locations.
- UI : Fixed hangs caused by garbage collection of removed Editors. One common example involved viewing a Catalogue in the NodeEditor after removing the ImageInspector (#5877).
API
- TextWidget, MultilineTextWidget :
- Added
setPlaceholderText()
andgetPlaceholderText()
methods. - Added
placeholderText
constructor argument.
- Added
Gaffer 1.3.16.5
Fixes
- FramingConstraint : Fixed crash caused by attempts to constrain objects that were not cameras.
- SceneReader : Fixed error loading USD Volumes with empty fields. These will now issue a warning and load as empty locations.
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.