Gaffer is a VFX application that enables look developers, lighters, and compositors to easily build, tweak, iterate, and render scenes. Gaffer supports in-application scripting in Python and OSL, so VFX artists and technical directors can design shaders, automate processes, and build production workflows.
An open-source project, Gaffer also provides an application framework for studios to design and create their own VFX production pipeline tools. Built using the Cortex libraries, Gaffer ships with a multi-threaded, deferred evaluation engine and a flexible user interface framework.
More information about Gaffer and its use in studios can be found at GafferHQ.
Users can learn how to use Gaffer through the documentation.
Developer notes are available on the Gaffer developer wiki.
Participating in the Gaffer community requires abiding by the project's Code of Conduct.
Compiled binary releases are available for download from the releases page.
Gaffer is a fairly large project, and as such has a fairly complex build process. Before you start, make sure you have the following prerequisites installed on your system, which will be used to perform the build itself.
From time to time, this list may change. For a complete, accurate, and up-to-date method of installing the prerequisites on CentOS, refer to the Docker setup we use for building automatic releases.
Note: Specific package names may differ depending on your Linux distribution and repository.
Note: Large Linux distros focused on usability, such as CentOS and Ubuntu, ship with many of these packages by default.
Package Name | Minimum Version |
---|---|
General | - |
gcc | 6.3.1 |
scons | |
OpenGL | - |
libX11-devel | |
libXi-devel | |
libXmu-devel | |
mesa-libGL-devel | |
mesa-libGLU-devel |
Note: Building the documentation is optional.
Package Name | Minimum Version |
---|---|
sphinx | 1.4 |
inkscape |
Note: We recommend using pip to manage Python modules.
Python Module |
---|
sphinx_rtd_theme |
recommonmark |
Gaffer also depends on a number of 3rd-party libraries and python modules, many of which are not entirely straightforward to build. We therefore recommend using the latest pre-built dependencies from the Gaffer dependencies project. These are used in our automated test builds and so are guaranteed to be up-to-date with Gaffer's requirements.
Once you've downloaded the dependencies, unpack them and move/rename them to the directory in which you want to make your Gaffer build. We'll refer to this location as <BUILD_DIR>
in the instructions below. Before continuing, make sure the dependencies are unpacked as <BUILD_DIR>/include
, <BUILD_DIR>/lib
, etc.
Next, clone the Gaffer source and cd
into its directory:
git clone https://github.com/GafferHQ/gaffer.git
cd gaffer
You can then build Gaffer with scons
:
scons BUILD_DIR=<BUILD_DIR> build
If you have any questions about using Gaffer, or encounter problems setting it up, feel free to ask on the Gaffer community group. Our users and contributors are happy to help.
If there is a feature you would like to see in Gaffer, request it on the Gaffer community group. Do not create an Issue for it on GitHub.
Please see the project's contribution guidelines.
© 2018 John Haddon. All rights reserved.
© 2018 Image Engine Design Inc. All rights reserved.
Distributed under the BSD license.