Skip to content

Releases: GafferHQ/gaffer

Gaffer 0.32.0.0

04 Mar 01:11
Compare
Choose a tag to compare
Gaffer 0.32.0.0 Pre-release
Pre-release

Breaking Changes

  • GLWidget : Replaced setOverlay/getOverlay with addOverlay/removeOverlay (#1979).
  • Gadget (#1979) :
    • Added member variable.
    • Made Gadget::visible() method const.

Improvements

  • ArnoldOptions : Added texture system settings (#1958).
  • CustomOptions, CustomAttributes, PrimitiveVariables, OSLCode : Added option to add point and normal values in addition to vectors (#1977).
  • OSLShader : Added support for specifying nodule visibility via metadata (#1975).
  • Appleseed :
    • Added automatic instancing support (#1978).
    • Added support for multiple cameras (#1978).
  • GUI : User defaults are now applied to new ScriptNodes (#1960).
  • OpenColorIO : Added support for specifying OCIO context variables per node (#1988).
  • UIEditor / UserPlugs :
    • Added menu items for adding array plugs (#1989).
    • Added control for setting the documentation:url metadata (#1995).
  • Main menu (#1987) :
    • Added options for flushing Arnold render caches.
    • Added issue tracker link
    • Renamed "mailing list" to "forum"
  • GLWidget (#1979) :
    • Added support for multiple overlays.
    • Fixed overlay drawing problems.
  • Viewer (#1979) :
    • Added support for tool toolbars.
    • Added support for tool shortcuts.
    • Added sidebar showing all available tools.
    • Added translate and scale manipulators.
  • Arnold : Added support for subdiv_smooth_derivs attribute on polymeshes (#1996).

Fixes

  • Isolate : Fixed bug when using keepLights or keepCameras (#1965).
  • InteractiveArnoldRender : Fixed occasional hangs (#1983).
  • Browser app : Fixed shutdown errors (#1981).
  • Light visualisers : Fixed errors triggered by specific intensity values (#1982).
  • OSLShader : Fixed ambiguities between point, vector and normal types (#1977).
  • Display : Fixed to support retries after failing to launch the server (#1972).
  • UIEditor : Fixed preset naming bugs (#1966).
  • Wrapper : Fixed bugs when Gaffer was installed in a location with spaces in the file path (#1961, #1962).
  • ErrorDialogue : Fixed parentWindow lifetime issues (#1986).
  • CDL : Fixed dirty propagation (#1988).
  • Crop : Fixed hang when using a crop with no input image (#1993).
  • DispatcherUI : Removed emulated "PlaybackRange" option which was clashing with CustomRange (#1991).
  • NodeUI : Fixed documentation:url metadata (#1995).

API

  • GafferUI::PlugAdder : Added support for subclassing in Python ()
  • CompoundNumericPlug : Added IECore::GeometricData::Interpretation setting (#1977).
  • Added GafferImage::OpenImageIOAlgo namespace with various utility functions (#1977).
  • Added Gaffer::PlugAlgo namespace with a replacePlug() utility function (#1977).
  • Fixed binding of Serialiser::childNeedsSerialisation (#1973).
  • Added WidgetAlgo.joinEdges() (#1979).
  • Gadget : Added setEnabled/getEnabled/enabled methods (#1979).
  • Style : Using enum to define axes for translate/scale handles (#1979).
  • StandardStyle : Added disabledState() (#1979).

Build

  • Fixed build on macOS Sierra (#1978, #1992).
    • Using clang on OSX.
    • Removed troublesome XCode 8.2 build for now.
  • Updated standard dependency versions :
    • Appleseed 1.6.0-beta
    • Boost 1.61
    • OSL 1.7.5
    • Alembic 1.6.1
    • FreeType 2.7.1
    • Qt 4.8.7
    • Cortex 9.16.2

Gaffer 0.31.0.0

16 Dec 23:11
Compare
Choose a tag to compare
Gaffer 0.31.0.0 Pre-release
Pre-release

Breaking Changes

  • ScriptNode (#1935)
    • Removed evaluate() method.
    • Removed scriptEvaluatedSignal() method.
    • Reordered virtual methods.
  • Options (#1929)
    • Moved "prefix" plug to CustomOptions node.
    • Added virtual method.
  • Shader : Removed NetworkBuilder from the API (#1936).
  • OSL ShadingEngine : Added argument to shade() method (#1944).
  • Moved all Algo to nested namespaces (#1953).

Improvements

  • ShaderSwitch (#1938)
    • Added support for all parameter types.
    • Added support for expressions and other inputs to the index plug.
  • Added a generic Switch node to the NodeGraph menu (#1938).
  • ArnoldShader
    • Added support for pass-through of an input parameter when disabled (#1936).
    • Added simplified NodeGraph view for shaders like AlSurface and Standard. They
      are now shown with most parameters hidden by default, and additional parameters
      can be added on demand (#1951).
  • OSLShader : Added support for pass-through of input parameters (#1936).
  • ArnoldOptions : Added sample clamp options (#1943).
  • Camera : Added "Copy From Viewer" item to NodeEditor tool menu (#1950).
  • Stats app (#1949)
    • Added command line arguments to output
    • Added current version to output
    • Added -contextMonitor argument (#1952)
  • OSLObject : Added support for "world" and "object" coordinate systems (#1944).
  • Arnold renderer : Added automatic creation of directories for log files (#1954).
  • Rewrote NodeGraph nodule layout code for improved consistency between plugs on nodes
    and nested plugs. StandardNodeGadget and CompoundNodule now support the same set of
    metadata (#1952).

Fixes

  • Fixed error when importing GafferScene or GafferImage before GafferDispatch.
  • ScriptNode : Fixed node deletion code to automatically reconnect nested child plugs (#1936).
  • Set : Fixed update bug (#1941).
  • ObjectSource : Fixed update bug (#1941).
  • Reference : Fix reload bug where connections to nested plugs were lost (#1940).
  • Dot : Fixed bug where output plug was lost during save (#1946).
  • OSLImage : Fix affects() so input image affects shading.
  • ChannelDataProcess : Fix affects().

API

  • ScriptNode (#1935)
    • Made serialisation and execution useable from C++.
    • Added isExecuting() method.
  • Switch
    • Added setup() method to simplify creation of custom switches.
    • Added activeInPlug() method.
  • ImageGadget
    • Added textureLoader() method.
  • Added PlugAdder gadget to simplify the process of adding dynamic
    plugs within the NodeGraph.
  • OSL Shading Engine : Added support for named transform spaces (#1944).
  • Added ContextMonitor class.
  • Menu : Added modal argument to popup() method.
  • MetadataAlgo : Added affectedByChange() overload for nodes.

Gaffer 0.30.2.0

29 Nov 20:36
Compare
Choose a tag to compare
Gaffer 0.30.2.0 Pre-release
Pre-release

Improvements

  • Graph Layout : Don't apply positions if the layout algorithm fails.
  • StandardOptions : Added "render:sampleMotion" parameter.
    • Currently with Arnold support ( RenderMan support requires Cortex update ).
  • Arnold backend : Options prefixed with "header:" are written into the header of image outputs.

Fixes

  • ArnoldDisplacement :
    • Accepts OSLShader inputs to map plug.
    • Fixed dirty propagation.
  • ArnoldOptions : Removed errorColorBadMesh option.
  • Arnold backend : Leave instancing of ASS archives to Arnold itself.
    • Fixed a crash bug when Arnold's procedural cache is in use (tested in Arnold 4.2.15.1)
  • Build :
    • Fixed failing Travis tests by removing ImageWriterTest.testMultipleWrite().
    • IE options supply DCC specific LINKFLAGS if specified.

Gaffer 0.30.1.0

16 Nov 20:45
Compare
Choose a tag to compare
Gaffer 0.30.1.0 Pre-release
Pre-release

Improvements

  • Arnold backend : Added support for adding arbitrary parameters to the Arnold options by using
    a CustomOptions node to create options prefixed with "ai:declare:" (#1911).
  • ArnoldOptions : Added AA_seed. If not specified, this defaults to the current frame (#1913).
  • Expression : Added support for PathMatcherDataPlugs in python expressions. In particular this allows the FilterResults node to be used as an input to an expression (#1915).
  • Documentation : Added Expression reference (#1918).

Fixes

  • Dispatcher
    • Fixed GIL management bug which could cause deadlock if pre/post dispatch slots launched threads that attempt to use Python (#1916).
    • Fixed UI bug in frame range field (#1917).
  • Reference : Reconnect outputs from any plugs.

API

  • Menu : Added support for functools.partial in "active" and "checkBox" fields (#1914).
  • NodeGraph : Added support for "nodeGraph:childrenViewable" metadata. This controls whether the subgraph of a node is accessible via the "Show Contents..." menu item and the cursor down keypress (#1914).
  • PathMatcher/PathMatcherData : Added Python repr support (#1915).

Gaffer 0.30.0.0

02 Nov 21:45
Compare
Choose a tag to compare

Breaking Changes

  • Resample : Replaced dataWindow plug with matrix plug (#1896).
  • OpenImageIOReader : Changed units of cache memory limit methods to bytes (#1895).
  • Serialiser : Added serialisation argument to all methods (#1882).
  • Metadata : Removed inherit argument from the plugsWithMetadata() and nodesWithMetadata()
    methods (#1882).
  • ExecutableRender : Removed command() method (#1885).
  • Changed return type of Filter::outPlug(), FilteredSceneProcessor::filterPlug() and FilterProcessor::inPlug()`. Source code compatibility is maintained.

Features

  • Added Mirror node for flipping and flopping images (#1896).
  • Added FilterResults node for searching an input scene for
    all locations matched by a filter (#1908).

Improvements

  • Reference : Added "Duplicate as Box" menu item in NodeGraph (#1898, #1899).
  • Box : Added "Import Reference" menu item in NodeEditor (#1898, #1899).
  • OSLObject/OSLImage : Added support for vector shader parameters (#1901).
  • OSLShader : Added support for array parameters (#1892).
  • Render nodes : Added cache clearing after scene generation (#1900).
  • Stats app : Added OIIO memory usage reporting (#1895).
  • GUI app : Increased default cache size to 1 gigabyte (#1895).
  • Image view : Added solo channel plug and button (#1881).
  • Node Graph :
    • The internal network of Reference nodes may now
      be viewed by pressing the cursor down key (#1882).
  • ArnoldShader : Added support for "gaffer.plugType" "" metadata.
    This can be used to disable the loading of a plug (#1884).
  • Documentation
    • Added release notes section (#1886).
    • Fixed broken links (#1894).
  • Improved loading times for scripts with many ArnoldShaders.
  • Added support for alternate shiboken install location (#1891).
  • Isolate : Added keepLights and keepCameras plugs (#1893).
  • Light Visualisers :
    • Added basic area light visualisations to StandardLightVisualiser.
    • Added visualisation metadata for Arnold quad, disk, cylinder, and skydome lights.

Fixes

  • ImageTransform : Fixed negative scaling (#1896, #1613).
  • Set : Fixed filter update bug (#1878, #1908).
  • Cache preferences : Stopped serialising metadata unnecessarily (#1895).
  • OSX (#1879, #1566, #1880, #1885)
    • Fixed numerous build errors
    • Fixed problems caused by System Integrity Protection
  • Reference (#561, #1882)
    • Fixed copy/paste of nodes from inside a Reference
    • Prevented editing of internal nodes. They may now be viewed
      but in a read-only state.
  • Arnold
    • Fixed ai:shape:step_size attribute (#1883).
  • Fixed crashes when using as_color_texture shader (#1905).

API

  • OpenImageIOReader (#1895)
    • Added cacheMemoryUsage() static method
    • Changed units of cache memory limit methods to bytes.
  • Serialiser : Added serialisation argument to all methods (#1882)
  • Metadata (#1882)
    • Added simplified API and deprecated previous API
    • Added MetadataAlgo.h with methods for controlling read-onliness and
      querying if a metadata change affects a particular plug.
    • Removed inherit argument from the plugsWithMetadata() and nodesWithMetadata()
      methods.
  • Plug : Deprecated ReadOnly flag - use MetadataAlgo instead (#1882).
  • ExecutableRender : Removed command() method (#OSX).
  • StandardNodule : Added support for "label" metadata (#1889).
  • Added M44fVectorDataPlug (#1892).
  • ValuePlug : Added clearCache() method (#1900).
  • ErrorDialogue
    • Added ErrorHandler context manager.
    • Added messages constructor parameter.

Version 0.29.0.0

11 Oct 18:40
Compare
Choose a tag to compare
Version 0.29.0.0 Pre-release
Pre-release

Highlights of this release include an entirely rewritten Appleseed backend with support
for editing geometry and environment lights during interactive renders, an OSLCode node
for the writing of OSL shaders within Gaffer, and much improved OSL support in GafferArnold.

Apps

  • Screengrab
    • Added delay command line argument (#1861).

Core

  • StringPlug
    • Fixed substitutions when plug has an input (#1860).

Appleseed

  • InteractiveAppleseedRender (#1833)
    • Reimplemented completely to using new Gaffer scene description
      APIs.
    • Added support for adding/removing/deforming/transforming objects during rendering.
    • Added support for changing environment lights during rendering.
    • Improved performance and responsiveness.
  • AppleseedRender (#1833)
    • Reimplemented completely to using new Gaffer scene description APIs.
  • AppleseedShaderBall
    • Added threads and max samples settings (#1833).
    • Increased sphere tesselation #1869.

Arnold

  • InteractiveArnoldRender
    • Added support for editing subdivision attributes while rendering (#1855).
  • ArnoldOptions
    • Added log verbosity settings (#1866).
  • OSL
    • Improved OSL shader support using Arnold's new osl_shader node (#1873).
  • Improved warning messages for unsupported parameters (#1872).

OSL

  • Added OSLCode node, to allow editing of OSL shader snippets on the fly (#1861).

UI

  • ArnoldShader
    • Added support for specifying UI layout via Arnold metadata.
      In particular, this greatly improves the NodeEditor UI for the
      AlShaders (#757, #1864).
  • ArnoldAttributes
    • Fixed formatting of Subdivision section summary (#1855).
  • NodeMenu
    • Sorted Arnold shaders into submenus (#1870).
  • ScriptEditor/Expression/PythonCommand
    • Made code font monospaced (#1861).
  • ShaderView
    • Fixed initial framing (#1861).
    • Fixed bug triggered by shaders changing type (#1861).
  • Expression
    • Fixed broken popup menus on non-ValuePlugs (#1861).
  • OSLShader
    • Fixed support for "null" widget type (#1865).
  • ImageReader/SceneReader/AlembicSource
    • Improved layout of reload button (#1867).
  • ArnoldOptions
    • Moved threads setting to Rendering section.
  • Added indentation to nested collapsible widgets (#1866).
  • SceneInspector
    • Fixed errors when selected path doesn't exist (#1874).
  • Display
    • Don't attempt to start server unless UI is connected (#222).
  • Added home shortcut for image view.
  • Selection/Crop Tools
    • Fixed precision issues when far from origin.

Documentation

  • Consolidated reference docs into a parent section (#1860).
  • Added string substitutions reference (#1860).

API

  • Renderer
    • Added bool return value to ObjectInterface::attributes(), to signify
      success/failure #1855.
  • OSLShader
    • Added support for unloading with OSLShader::loadShader( "" ) (#1859).
    • Fixed loading of surface type after loading of shader type (#1859).
  • LabelPlugValueWidget
    • Added support for "labelPlugValueWidget:renameable" metadata (#1861).
  • MultiLineTextWidget
    • Added "role" property (#1861).
  • MultiLineStringPlugValueWidget
    • Added support for specifying role via "multiLineStringPlugValueWidget:role"
      metadata (#1861).
  • OSL
    • Added GafferOSL/Spline.h header, to simplify use of splines in shaders (#1861).
  • View
    • Removed virtual void plugDirtied().
  • CompoundDataPlug
    • Added support for BoolVectorData (#1863).
  • PlugLayout
    • Added support for "layout:accessory" metadata.
  • Added RefreshPlugValueWidget and deprecated IncrementingPlugValueWidget (#1867).
  • ViewportGadget
    • Don't convert raster positions to V2i.

Build

  • Added OSLHOME build option, only necessary when building without using GafferHQ/dependencies (#1871).

Version 0.28.3.0

26 Sep 23:37
Compare
Choose a tag to compare
Version 0.28.3.0 Pre-release
Pre-release

OSL

  • Metadata
    • Support OSL "page", "connectable", and "URL" metadata
    • Support metadata on spline plugs
    • Support min/max metadata

Version 0.28.2.1

22 Sep 18:45
Compare
Choose a tag to compare
Version 0.28.2.1 Pre-release
Pre-release

API

  • ArnoldShader
    • Fix outPlug() loading bug introduced in 0.28.2.0.

Version 0.28.2.0

19 Sep 18:15
Compare
Choose a tag to compare
Version 0.28.2.0 Pre-release
Pre-release

UI

  • Fixed incorrect re-use of widgets when swapping plugs with the same name.

Scene

  • Fixed context scoping issue during renders.

Arnold

  • Added curve min_pixel_width and mode attributes.
  • Shaders are now re-loadable, and will automatically reload during script load.

Cortex

  • Fixed incorrect re-use of plugs when swapping parameters with the same name.

API

  • SceneAlgo
    • Fixed context used by sets() function.
  • RendererAlgo (preview)
    • Fixed context used by RenderSets class.
  • ArnoldShader
    • Added keepExistingValue argument to loadShader().
    • Added loadShader() to serialisation.
    • Reusing existing plugs wherever possible.
  • CompoundParameterHandler
    • Match by parameter object instead of name.
  • CompoundPlugValueWidget
    • Match by plug object instead of name.

Version 0.28.1.0

14 Sep 18:43
Compare
Choose a tag to compare
Version 0.28.1.0 Pre-release
Pre-release

UI

  • The 3D Viewer can now look through lights (#1846).
  • Prefixed NodeMenu search text for RSL and OSL shaders with ri and osl respectively (#1850).

Arnold

  • Added support for trace sets (#1847). Any standard gaffer set with a name beginning with "render:" will be exported to Arnold as a trace set.
  • Fixed ArnoldDisplacement crash (#1849).
  • Added support for a gaffer.nodeMenu.category metadata value to customise the shader menu (#1850).

Scene

  • Added LightToCamera node (#1846).

API

  • Context (#1848)
    • Added GIL release in set() method bindings to
      fix potential deadlocks.
    • Fixed bug which meant that remove() wasn't
      emitting changedSignal().
  • SceneAlgo
    • Added sets() overload to compute a subset of all sets.
  • RendererAlgo (preview)
    • Added RenderSets utility class.
    • Modified output methods to take a RenderSets argument.
  • ShaderPlug
    • Fixed bug involving plugs with no input (#1849).

Build

  • Added INSTALL_POST_COMMAND option, to allow custom commands to be run after installation (#1845).