0.48.0.0¶
Features¶
- Viewer : The 3D viewer now updates asynchronously, keeping the UI responsive while the scene is computed in the background (#2649).
- AnimationEditor : Added a new editor to allow the graphical editing of animation curves. This can be found on the tab next to the GraphEditor in the standard layouts (#2632).
- DeleteObject node (#2694).
- CopyAttributes node (#2710).
Improvements¶
- TranslateTool : Added handles for movement in the XY,XZ,YZ and camera planes (#2709).
- Layouts menu (#51, #2698) :
- Added “Default/…” menu items to allow the default startup layout to be chosen.
- Added new “Save As/…” menu items to allow previously saved layouts to be replaced.
- SceneInspector (#2607) :
- Added filter to sets sections.
- Moved set computations to background process, so they don’t block the UI.
- Shader : Improved performance (#2644).
- ArnoldLightUI : Added support for “userDefault” parameter metadata. This matches the format already in use for ArnoldShaderUI (#2646).
- Viewer :
- ArnoldAttributes :
- FormatPlug : Made “Custom” mode persistent, so it is remembered across save and reload (#2660).
- InteractiveRender : Removed unnecessary deletion and recreation of objects when
childNames
changes (#2690, #2649).
Fixes¶
- GraphEditor :
- LocalDispatcher/TractorDispatcher : Fixed problems using
imath
context variables (#2653, #2654). - OSLObject : Fixed crashes caused by indexed primitive variables (#2655).
- Viewer : Fixed visibility of children of look-through camera (#2694).
- ObjectSource : Fixed transform.* -> out.bound dirty propagation (#2649).
API¶
- SceneGadget :
- RenderController : Added new utility class for controlling interactive renders (#2649).
- AnimationGadget : Added new Gadget for editing animation curves (#2632).
- Animation (#2632) :
- Keys are now reference counted, so ownership can be shared between CurvePlugs and the AnimationEditor.
- Keys may be edited in place with
key->setTime()
etc, and the CurvePlug automatically updates. CurvePlug::keys()
has been replaced withCurvePlug::begin()
andCurvePlug::end()
. This hides the internal choice of container while still providing iteration.- Added optional
threshold
argument toclosestKey()
.
- IECoreScenePreview::Renderer (#2649) :
- Added
command()
virtual method. - Added
name()
virtual method.
- Added
- IECoreGLPreview::OpenGLRenderer (#2649) :
- Made it possible to call
render()
concurrently with edits. - Added support for highlighting selected objects.
- Added “gl:queryBound” command.
- Added “gl:querySelection” command.
- Added support for custom object and attribute visualisers.
- Added options for controlling base attributes.
- Made it possible to call
- PresetsPlugValueWidget : Added support for an optional “Custom” menu item, which allows the user to enter an arbitary value. This is controlled by “presetsPlugValueWidget:allowCustom” plug metadata (#2660).
- BusyWidget : Added
busy
constructor argument (#2607). - LightTweaks (#2660) :
- Moved TweakPlug to the GafferScene namespace, so it can be reused by other nodes.
- Added “Remove” mode.
- Layouts (#2698) :
- Added
persistent
argument toadd()
method, mirroring theBookmarks.add()
API. This automatically takes care of saving persistent layouts into the startup location. - Added
setDefault()/getDefault()
andcreateDefault()
methods to allow the management of a default layout.
- Added
- Handle (#2709) :
- Added
set/getVisibleOnHover()
methods. - Added
PlanarDrag
axis accessors.
- Added
- TranslateHandle (#2709) :
- Added
axisMask()
method.
- Added
- FilteredSceneProcessor : Added constructor to allow array
inPlug()
. - Style :
- ViewportGadget : Added
set/getVariableAspectZoom()
method (#2632).
Build¶
Breaking Changes¶
- GafferSceneUI : Moved visualiser base classes to IECoreGLPreview (#2649).
- ArnoldAttributes : Changed volume step attributes (#2634).
- GafferImage : Removed FormatPlug compatibility for files saved in Gaffer 0.16 or older. To migrate, resave the file in Gaffer 0.47 (#2682).
- GafferOSL::ShadingEngine : Removed
scope
parameter fromneedsAttribute()
(#2655). - Layouts (#2698) :
- Removed
save()
method. Use thepersistent
argument toadd()
andsetDefault()
instead. - Added
applicationRoot
argument to constructor. You should useacquire()
instead anyway.
- Removed
- LayoutMenu : Removed
delete()
method (#2698). - GUI config : Renamed standard layout from “Default” to “Standard” (#2698).
- TranslateHandle : translation()` method now returns a V3f rather than a float (#2709).
- TransformTool : Made
orientedTransform()
method const (#2709). - Style : Changed method signatures, enum values, and added virtual functions (#2632).
- Animation : Refactored API. See API section for more details (#2632).
- IECoreScenePreview::Renderer : Added virtual methods (#2649).
- InteractiveRender : Added and removed private member data (ABI break) (#2649).
- SceneGadget (#2649) :
- Added/removed private members (ABI break).
- Remove
baseState()
.
- SceneView : Reorganised/simplified drawingMode plugs (#2649).