In this instalment of the Gaffer for Pipeline series of ‘ground up’ posts, we look at adding custom bookmarks to the various Gaffer browsers. We’ll recap the tutorial from the Gaffer docs, introduce dynamic bookmarks and look at Gaffer’s own categories in more detail.
Continue reading “G4P – part 5 – File Browser Bookmarks”Customising the NameSwitch node UI
Gaffer 0.55.0.0 introduces the NameSwitch node; like a Switch node, but using names instead of indices for switching between the inputs. This post shows an example of the NameSwitch in use, and describes how you might customise its UI to better suit your pipeline.
Continue reading “Customising the NameSwitch node UI”Gaffer for pipeline – part 4 – which version?
When writing pipeline tools, it’s often useful to know which Gaffer version you are running in. In python, the Gaffer.About module is your friend:
import Gaffer
print( Gaffer.About.versionString() )
print( Gaffer.About.majorVersion(), Gaffer.About.minorVersion() )
We also define a (script + ABI) ‘compatibility’ version, that, as we use SemVer – is effectively tied to the milestone + major version:
print( Gaffer.About.compatibilityVersion() )
Scripting Box nodes
Gaffer’s Box node is a staple building block sharing chunks of node graph (via the Reference system), or quickly building tools via expressions and promoted plugs.
The Gaffer docs have a page covering Box nodes and how to use them. In this post we take a quick look at how to re-create a simple GroundPlane tool made in the UI, using only Gaffer’s python API.
Continue reading “Scripting Box nodes”Gaffer for pipeline – part 3 – Compute cache size
Like many other applications that calculate data on-demand, Gaffer has a memory cache that can increase performance in UI sessions if you have RAM to spare.
The default size (1GB) is somewhat conservative as to ensure we don’t use up all the resources of more modest machines when Gaffer is used out-the-box. It is easy to increase the limit though, which can bring performance gains in real-world production scenarios.
Continue reading “Gaffer for pipeline – part 3 – Compute cache size”Gaffer for pipeline – part 2 – Customisation mechanisms
Continuing our bottom-up look at Gaffer from a pipeline perspective, in this instalment we look at the fundamentals of how to Gaffer is configured. We will cover:
- Environment variables
- Settings and Preferences
- Gaffer’s Metadata system
Gaffer for pipeline – part 1 – App structure and startup
It can be hard to know where to start when you first start integrating a new application into a pipeline. This post is the first part in a series that takes a bottom-up approach and brings together a few helpful links for getting started with Gaffer configuration, scripting and development.
In this part, we take a look at how the gaffer application is structured, and what happens at startup.
Continue reading “Gaffer for pipeline – part 1 – App structure and startup”Automatic Connections to New Nodes
When creating Switch, Group, or Parent nodes in the Graph Editor, Gaffer will automatically connect your current selection to the new node. Sometimes, though, you will end up with an array of connections that are all out-of-order and crossed-up. Fortunately, there is a simple trick you can use to guarantee the correct order.
Continue reading “Automatic Connections to New Nodes”Gaffer and OSL talks at FMX 2019
Two of the fine folk involved with Gaffer development will be presenting at FMX 2019! Andrew Kaufman, R&D Lead at Image Engine and Gaffer developer, and Carsten Kolve, DFX Supervisor at Image Engine, will host two talks that cover Gaffer, OSL, and Arnold.
Continue reading “Gaffer and OSL talks at FMX 2019”Shader connection components
When building shader networks, you can split a multi-value parameter in the ”Graph Editor”, to mix and match its individual components.
Continue reading “Shader connection components”