0.7.0.0¶
This release brings the exciting addition of support for the open source Appleseed renderer. It also adds the much asked for Dot node, and a tool for editing render crop windows. Plus of course the usual small improvements, optimisations and bug fixes.
UI¶
- Added resolution gate and crop windows overlays to 3d viewer (#1016).
- Added tool for manipulating crop window.
- Added “User Default” item to plug popup menus.
- Added sneaky hotkey for navigating inside any node in NodeGraph.
- Fixed Reference node UI to match equivalent Box node UI (#1108).
- Improved positioning of nodes created by the NodeMenu.
- Improved table widget (#204).
- Remove button disabled when selection empty
- Newly added rows are selected automatically
- Newly added row has keyboard focus for immediate editing
- Added customisable presets to plug widgets (#1113).
- Fixed bugs where image viewer was using incorrect context (#1124).
- Fixed bug where channel mask UI was using incorrect context.
- Added a refresh button to ImageReaders.
- Added support for specifying node, nodule, and connection colours via Metadata (#89).
- Added support for setting node colour in the UIEditor or from the RMB popup in the graph.
- Fixed bug in ColorChooserDialogue.waitForColor().
- Added basic colour scheme for nodes in the GUI app (#1098, #154).
Core¶
Scene¶
- Added min/max limits to StandardOptions crop window plug.
- Fixed bugs which prevented ObjectSource nodes from working after create/undo/redo.
- Fixed UnionFilter to accept inputs from Boxes.
Image¶
- ImageWriter now creates the necessary directories before writing images.
RenderMan¶
- Added shader Metadata option “shaderTypeOverride” (#pragma annotation “shaderTypeOverride” “ri:shader” will force the Gaffer shader type to “ri:shader”).
Appleseed¶
- Added support for the Appleseed renderer, courtesy of Esteban Tovagliari.
API¶
- Optimised ScenePlug::stringToPath(). This gives an 88% reduction in runtime for a synthetic test of just that function, and a 7% reduction in total runtime for a scene benchmark using the Instancer.
- Added hasUserDefault( plug ) and applyUserDefault( plug ) to NodeAlgo.
- Added Context.contains binding.
- Simplified numeric plug bindings.
- Added min/max values to BoxPlug.
- Added handy CompoundDataPlug::MemberPlug child accessors.
- Added GafferBindings::NodeClass() overload for suppressing init.
- Moved shutter() and transform() from RendererAlgo.h to SceneAlgo.h.
- Added camera() methods to SceneAlgo.h.
- Removed GLWidget minimum size.
- Fixed bug where ViewportGadget::setCamera() could forget viewport size.
- Fixed ViewportGadget::RasterScope to work during selection.
- Added ViewportGadget::preRenderSignal().
- Made View::update() non-pure virtual.
- Added View::contextChangedSignal().
- Added Tool base class.
- Fixed bugs in ExceptionAlgo formatPythonException().
- Fixed StandardStyle border widths to be independent of border radius.
- Added Menu.popupPosition() method.
- Improved support for functools.partial() callables in Menu commands.
- Added metadata to control StandardNodeGadget minimum width, padding, and nodule spacing.
- Improved StandardNodeGadget drag/drop handling. Previously it would accept drags it wasn’t going to use, preventing other handlers from working.
- Added Nodule::updateDragEndPoint() virtual method.
- Fixed ScriptNode::deleteNodes() for nodes without enabled plugs.
- Added customisable edge gadgets to StandardNodeGadget.
- Added support for changing nodule position on StandardNodeGadget.
- Guaranteed order of Metadata::registered*Values().
- Added plug presets methods to Gaffer.NodeAlgo.
- Added GafferUI.PresetsPlugValueWidget.
- Added PlugValueWidget.childPlugValueWidget(), so derived classes don’t need to implement it if they don’t have such children (#1123).
- Added Style::renderNodeFrame() to distinguish between frames drawn for nodes and those drawn as normal frames.
- Updated Style bindings.
- Added useDisplayTransform argument to ColorSwatch constructor.
- Added useDisplayTransform argument to ColorChooser and ColorChooserDialogue.
- Added DataBinding.h header with dataToPython().
Build¶
- Added scripts for automating releases.
- Updated IE public build script to use MILESTONE_VERSION, and renamed it to publicDependenciesBuild, since it is no longer used for producing the public release builds.
- Requires Cortex 9.0.0-b1 for Appleseed support.
Incompatibilities¶
- Moved shutter() and transform() from RendererAlgo.h to SceneAlgo.h.
- Made View::update() non-pure virtual.
- Added virtual method to Nodule.
- Added and reordered Style virtual methods.