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.