Releases: GafferHQ/gaffer
Releases · GafferHQ/gaffer
Gaffer 1.2.10.6
Fixes
- Context : Fixed potential crash when setting a variable with ownership.
Gaffer 1.3.11.0
Features
- 3Delight : Added support for USD
SphereLight
,RectLight
,DiskLight
,DistantLight
,DomeLight
andCylinderLight
. - 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.
- ArnoldShader : Added a colour space presets menu for the
- CyclesShader : Added a colour space presets menu for the
image_texture
andenvironment_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
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 forproject: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
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
andfloat
values.
API
- PlugAlgo :
setPlugFromData()
now supports conversions from all numeric data types toBoolPlug
,IntPlug
andFloatPlug
values.
Gaffer 1.3.8.0
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 therenderPass: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.
- Fixed translation of
- 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.
- Added
- Widget : Added handling for drag & drop from an external application via the existing
dragEnterSignal()
,dragMoveSignal()
,dragLeaveSignal()
anddropSignal()
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
Improvements
- ArnoldShader : Improved support for camera projections by exposing the
camera
plug on thecamera_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 orARNOLD_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()
andthrowIfNoScene()
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
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
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 )
orcontextElement( 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 theFilter.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 fromObjectProcessor
. These include :CameraTweaks
,ClosestPointSampler
,CollectPrimitiveVariables
,CopyPrimitiveVariables
,CurveSampler
,DeleteCurves
,DeleteFaces
,DeletePoints
,MapOffset
,MapProjection
,MeshDistortion
,MeshNormals
,MeshSegments
,MeshTangents
,MeshToPoints
,MeshType
,Orientation
,PointsType
,PrimitiveSampler
,PrimitiveVariables
,ReverseWinding
,ShufflePrimitiveVariables
andUVSampler
(#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
andV3fVectorData
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 deprecatedStandard
,TaskIsolation
andLegacy
policies. - Metadata :
- Added
RegistrationTypes
enum that allows the different types of registrations to be identified. - Added improved
registeredValues()
andvalue()
overloads that provide finer-grained queries based on the type of registration. - Deprecated
instanceOnly
andpersistentOnly
arguments in favour of newregistrationTypes
arguments. - Prevented
renameable
anddeletable
metadata from being copied during plug promotion.
- Added
- MetadataAlgo : Added
deregisterRedundantValues()
method.
Build
- Cortex : Updated to version 10.5.3.0.
Gaffer 1.3.5.0
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
toReplace
. - 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.
- Fixed output for
- 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 allowssample()
to be called concurrently.
Gaffer 1.2.10.5
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).