Gaffer 0.58.0 : We’re going on a bug hunt

Gaffer 0.58 contains a caching optimisation that can significantly improve interactive performance in many cases. But this optimisation can also reveal subtle bugs in Nodes that may have gone unnoticed until now. In this post we’ll explore why that is the case, and outline some useful strategies for catching and eradicating such bugs from your custom nodes.

Continue reading “Gaffer 0.58.0 : We’re going on a bug hunt”

Stupid Gaffer Trick


Save your work first. And don’t expand all!

Execute the following via the PythonEditor :

import GafferScene
n = GafferScene.ShaderAssignment()
n["in"]["childNames"].setValue( IECore.InternedStringVectorData( [ 
    "turtles", "all", "the", "way", "down"
] ) )
root.addChild( n )

Then look at the innocent looking ShaderAssignment node in the HierarchyView, and marvel at its recursive uselessness.

Turtles all the way down!

How does this work? Answers on the back of a postcard please…

New Gaffer Examples

EZSurfacing Tools
Barbershop from “Agent 327” by Blender Institute, rebuilt and rendered in Gaffer by Ezequiel Mastrasso.

Let’s face it, there’s only so much you can learn about Gaffer from a ball of cows. Wouldn’t it be great if there were some more comprehensive examples that resembled how you might work in a studio environment? Something with real assets and light rigs, that showed how to build a multi-shot workflow using a single template script? Well, now there is!

Continue reading “New Gaffer Examples”