Skip to content

Releases: GafferHQ/gaffer

Version 0.83.0

07 Oct 23:14
Compare
Choose a tag to compare
Version 0.83.0 Pre-release
Pre-release

UI

  • Added support for framing nodes and plugs dragged to the NodeGraph.
  • Fixed overzealous pinning of nodes dragged to editors. Specifically, a node dragged from within an editor would be accepted as a pinning-drag into that very same editor. Now a drag must originate from outside the editor to be considered for pinning.
  • Stopped GafferUI.Frame from expanding beyond the min/max of its contents. It now behaves like the other containers in this respect.
  • Added highlighted rendering for frames.
  • Added ConnectionPlugValueWidget. This is a fallback widget for plugs that otherwise have no value to display. It shows the input connection to the plug, and provides means of navigation to that input (#130).
  • Added post-execution behaviours to OpDialogue. These allow the UI writer, the Op writer or the user to choose whether or not the dialogue should be closed after the Op has executed (#560).
  • Fixed PathListingWidget errors when "/" path is invalid. Invalid root paths occur quite frequently in the SceneHierarchy editor when an invalid filename has been entered in a SceneReader or AlembicReader. Those nodes will still display an error, but the SceneHierarchy now won't output a confusing stacktrace which distracts people from the root cause (#528).
  • Added Alt click modifier for selecting upstream nodes in GraphGadget. Alt+Shift click adds all upstream nodes to the selection. Alt+Ctrl click removes all upstream nodes from the selection (#437).
  • Fixed launching of external URLs on OS X.

Scene

  • Fixed Prune node's forward declarations of lights and cameras. Previously it would not correctly remove the forward declaration for an object whose ancestor had been pruned.
  • Added Isolate node type. This removes all paths which are not directly above or below the chosen location - particularly useful for singling out certain assets from a large scene (#564).
  • Improved default values for Seeds and Instancer nodes. The new defaults mean there are less steps to perform to get something happening.
  • Stopped annoying startup errors when 3delight or arnold are missing (#486).

OSL

  • Introduced a new gaffer module which integrates Open Shading Language.
    • OSLShader node represents OSL shaders and allows them to be connected into shading networks.
    • OSLImage node executes OSL shaders in the context of an input image to perform arbitrary image processing.
    • OSLObject node executes OSL shaders in the context of an object's primitive variables to perform geometry deformation.

API

  • Added custom formatters and name depth control to NameLabel.
  • Added Widget.isAncestorOf() method.
  • Added ButtonEvent.button field.
  • Improved path matching to provide more complete information.
  • Added GraphGadget::upstreamNodeGadgets() method.

Support apps

  • Added ability to specify Widget to be grabbed in the screenGrab app.

Version 0.82.0

26 Sep 19:13
Compare
Choose a tag to compare
Version 0.82.0 Pre-release
Pre-release

Core

  • Made Plug::acceptsInput() consider current output connections (#532).

UI

  • Added even-more-simplified mode to StandardNodeUI (#549).
  • Fixed GraphGadget for NULL return from NodeGadget::create(). This allows NodeGadget::registerNodeGadget() to be used with functions that will return NULL to signify that the node should be hidden.

Scene

  • Fixed errors reading polygon normals from Alembic files (courtesy of Cortex 8.0.0-a18).
  • Added MapOffset node for offsetting texture coordinates.

RenderMan

  • Fixed output of multiple displays (courtesy of Cortex 8.0.0-a18) (#357).
  • Added automatic instancing capabilities (courtesy of Cortex 8.0.0-a18).

Version 0.81.0

23 Sep 19:39
Compare
Choose a tag to compare
Version 0.81.0 Pre-release
Pre-release

Core

  • Improved dirtiness propagation mechanism to remove duplicate signal emission.

UI

  • Backdrop improvements
    • Backdrop contents can now be scaled, so large backdrops can still have readable text when zoomed out.
    • Fixed bug which meant that empty backdrops didn't immediately redraw as highlighted when selected.
    • Improved resizing behaviour.
    • Fixed cut and paste bug.

Scene

  • Added doublesided attribute to StandardAttributes node (#275).

Arnold

  • Fixed packaging of Arnold plugins.
  • Fixed problem where light shaders weren't being created as lights.

RenderMan

  • Fixed public build to work with older 3delight versions where RiProceduralV isn't available.
  • Added support for several new attributes in RenderManAttributes node (#275).

API

  • The plugDirtiedSignal() is now emitted when a value has been edited with ValuePlug::setValue() - this means that observers need only ever use plugDirtiedSignal() instead of also having to use plugSetSignal() as well.
  • Added Style::characterBound(). This returns a bounding box guaranteed to cover the largest character in the font. It is useful for correctly positioning the text baseline among other things.

Version 0.80.0

18 Sep 18:54
Compare
Choose a tag to compare
Version 0.80.0 Pre-release
Pre-release

UI

  • NodeGraph now only drag-selects nodes that are wholly contained in the drag area, not merely intersecting it.
  • Added a Backdrop node (#153).

RenderMan

  • Added support for "help" shader annotation in RenderManShaderUI (#536). This provides help for the shader as a whole and is mapped into the MetaData as the node description, appearing in the NodeEditor as a tooltip.

API

  • Added optional continuous update to string PlugValueWidgets, controlled by the continuousUpdate parameters to the constructor. This transfers the text from the ui to the plug on every keypress.

Core

  • Fixed serialisation of dynamic BoxPlugs.

Documentation

  • Improvements too numerous to mention.

Version 0.79.0

11 Sep 18:29
Compare
Choose a tag to compare
Version 0.79.0 Pre-release
Pre-release

UI

  • Added additional plug types to the CompoundDataPlug new plug menu (#522).
  • Fixed bug in searchable Menus with no entries (#527).

Scene

  • Added CustomAttributes and CustomOptions nodes. These will be used instead of the old Attributes and Options nodes, and exist to better distinguish their use from the Standard, RenderMan and Arnold options and attributes nodes. (#272)

RenderMan

  • Enabled hosting of RenderManShaders inside custom Box classes. Previously it only worked inside Boxes and not classes derived from Box.

API

  • Added python subclassing ability to Serialisation::Serialiser (#520).

Version 0.78.0

26 Aug 19:30
Compare
Choose a tag to compare
Version 0.78.0 Pre-release
Pre-release

API

  • Added python bindings for signal::num_slots and signal::empty().
  • Added Gadget::idleSignal(). This allows Gadgets to do things during the idle times of the host event loop.
  • Added NodeEditor.nodeUI() method.
  • Added CompoundEditor.editorAddedSignal().
  • Enabled subclassing of Box from Python.
  • Made RenderManShaderUI public.

Core

  • Fixed serialisation of ExecutableOpHolder.
  • Added dynamic requirement plugs to Executable.

UI

  • Added middle mouse drag for dragging nodules to the script editor without dragging a connection.
  • Further increased width of plug labels in NodeEditor (#98).
  • Fixed read-only RenderManShader UIs.
  • Fixed bug whereby read-only PlugValueWidgets were accepting drags.
  • Added Help menu.
  • Added NodeGraph auto-scrolling (#14).
  • Added support for "presets" parameter type hint.

OS X

  • Fixed GafferImageUI linking.

Version 0.77.0

23 Aug 02:46
Compare
Choose a tag to compare
Version 0.77.0 Pre-release
Pre-release
  • Added alignment support and addSpacer method to ListContainer.
  • Fixed an update bug in the pixel value inspector (#401).
  • Added the pinned status to saved layouts (#444).
  • Added read-only mode to NodeUIs and NodeEditor (#414). Note that this currently interacts poorly with activators on RenderManShader node, and will be fixed in a future release.
  • Fixed read-only MultiLineTextWidget bugs.
  • Implemented tag reading in SceneReader node. Tags are represented as BoolData attributes called "user:tag:tagName" (#494).
  • Increased width of plug labels in NodeEditor (#98).
  • Improved the default layout to include SceneHierarchy and SceneInspector and Timeline editors.
  • Fixed TabbedContainer sizing when tabs not visible.
  • Fixed crashes when loading old scripts where coshader array parameters were stored as Compound plugs.
  • Fixed propagation of shader hashes through Boxes.
  • Allowed shaders to accept inputs from Boxes, even if the Box doesn't currently output a shader.
  • Changed internal image coordinate system to have 0,0 at bottom left (formerly at top left).

Version 0.76.0

19 Aug 21:59
Compare
Choose a tag to compare
Version 0.76.0 Pre-release
Pre-release
  • Added Application._executeStartupFiles() method (#354).
  • Added RemoveChannels image node.
  • Added a PointConstraint node (#482).
  • Fixed framing error when entering a Box.
  • Image viewer now displays channels in grey scale.
  • Added Widget.widgetAt() method.
  • Added ability to hide tabs in layouts.
  • Fixed bug converting coshader array from fixed to variable length.
  • Added Serialiser::postScript() method.

Version 0.75.0

15 Aug 18:56
Compare
Choose a tag to compare
Version 0.75.0 Pre-release
Pre-release
  • Added a channel mask feature to the image view. Use the r,g,b and a keys to isolate individual channels (#403).
  • Updated for compatibility with Cortex 8.0.0a14.
  • Updated screengrab app to allow the execution of a commands file.
  • Added a node find dialogue, accessible via the Edit/Find.. menu item (#454).
  • Added NodeGraph.frame( nodes ) method. This can be used to frame specific nodes within the viewport of the NodeGraph.
  • Addressed thread related hangs when using an InteractiveRenderManRender and deleting or connecting nodes.

Version 0.74.0

12 Aug 22:13
Compare
Choose a tag to compare
Version 0.74.0 Pre-release
Pre-release
  • Added a multitude of miscellaneous documentation improvements.
  • Implemented parameterName.type RenderManShader annotation (#456).
  • Implemented parameterName.coshaderType RenderManShader annotation (#460).
  • Fixed disabled Shader pass-through bugs.
  • Added variable length coshader array support to RenderManShader (#462).