0.41.0.0¶
Breaking Changes¶
- Adopted Cortex 10 UV representation (#2281) :
- UVs are now represented as V2f primitive variables, not separate s/t float primitive variables.
 - Primary UV set is called “uv”.
 - UV origin is in the bottom left, with increasing values of V going up (flipped vertically compared to previous orientation).
 - Indices are now stored on the same primitive variable as the UVs themselves.
 - This has affected the plugs and default values for a number of nodes.
 
 - SplinePlug : Changed value representation from IECore::Spline to new SplineDefinition class (#2148).
 - Algo headers : Removed compatibility namespacing (#2299).
 - Removed CompoundPlug. Use Plug or ValuePlug instead (#2298, #1323).
 - Removed CompoundPlugValueWidget. Use PlugLayout instead (#2298).
 - FilteredSceneProcessor : Removed deprecated 
filterContextmethod. Use FilterPlug::FilterScope instead (#2260). - Stopped installing Cortex image ops. Use GafferImage nodes instead (#2258).
 - Removed OpenImageIOAlgo. Use IECoreImage::OpenImageIOAlgo instead (#2258).
 - Removed GafferCortexUI::ImageReaderPathPreview. Use GafferImageUI::ImageReaderPathPreview instead (#2258).
 - GafferBindings : Hid internal details in GafferModule (#2289).
 - GafferUIBindings : Hid internal details in GafferUIModule (#2256).
 - GafferCortexBindings : Hid internal details in GafferCortexModule (#2248).
 
Features¶
- Added Viewer visualisation of Arnold light filters (#2275).
 - Added Encapsulate node. This encapsulates portions of a scene by collapsing the hierarchy and replacing it with a procedural which will be evaluated at render time (#2283).
 - Added FloatSpline OSL shader ((#2292).
 - Added VTuneMonitor to annotate VTune profiles with node processes (#2247).
 
Improvements¶
- LightTweaks : Added “Delete” menu item to context menu (#2285).
 - OSLShader : Improved node graph labels (#2296).
 - Parent : Defaulted “root” plug to value of “/” (#2242).
 - ArnoldOptions : Added abortOnError and maxSubdivison settings (#2290).
 - SplinePlug :
 - CollectScenes : Added “root” plug, to allow subtrees to be collected from the input scene (#2238).
 - OSLObject/ShadingEngine : Added multithreaded evaluation for improved performance (#2251).
 - CompoundDataPlug : Added menu items for adding box plugs (#2263).
 - Browser/View apps : Improved image preview (#2258).
 - Filter plug UI : Decluttered embedded filter UIs (#2276).
 - Group/BranchCreator : Optimised context management (#2270).
 
Fixes¶
- ArnoldRender : Fixed error handling for aborted renders (#2279).
 - SplineWidget :
 - ImageWriter : Fixed bug when writing JPEG with blank scanlines (#2268).
 - ImageReader : Fixed “enabled” plug, so that turning it off outputs a default blank image (#2254).
 - Documentation :
 - BoxIO : Fixed bug that could cause promoted plugs to initially be invisible in the NodeGraph (#2284).
 - GraphGadget : Fixed GIL handling in 
setRoot()andsetFilter()methods (#2287). - PlugLayout : Collapsible layouts are now used if a 
rootSectionis specified (#2276). - PlugAlgo : Fixed bug where promoted plugs had the wrong value (#2298).
 - Prune : Fixed hashing of sets (#2243).
 - Text : Fixed problems with vertical alignment when there was too much text to fit in the text area (#2291).
 
API¶
- ValuePlug : The 
Node::plugSetSignal()is now emitted for all ancestors, not just for ValuePlugs (#2298). - GafferCortex::ParameterHandler : Added 
hash()method (#2298). - RendererAlgo : Added optional 
rootargument tooutputObjects()(#2283). - SceneAlgo : Added 
parallelProcessLocations()overload takingroot(#2283). - Wrapper classes : Added templated variadic constructors (#2250).
 - PlugAlgo : Added 
promoteWithName()function (#2284). - Added Capsule class to represent encapsulated scene hierarchy (#2283).
 - StandardLightVisualiser : Added method for querying spotlight parameters (#2275).
 - WidgetAlgo : Fixed 
grab()to work around Qt bugs on OSX (#2307).