Skip to content
Gaffer is an open source application framework designed specifically for creating tools for use in visual effects production.
Branch: master
Clone or download
Latest commit 61d3866 Mar 18, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE
apps Stats app : Add `-contextSanitiser` argument Mar 5, 2019
arnold/plugins Arnold metadata : Add file browser for photometric_light Feb 22, 2019
bin Wrapper : Support 3rd party extensions. Oct 25, 2018
config
contrib Docs : Remove outdated contrib/docs directory Dec 14, 2018
doc/source Docs : Fix recent screengrab errors and build targets Mar 13, 2019
glsl Texture.frag : Update for Cortex 10 UV conventions Oct 5, 2017
include ContextProcessor : Use ContextAlgo::GlobalScope Mar 5, 2019
python Merge pull request #3061 from johnhaddon/renderWithoutSceneNode Mar 12, 2019
resources graphics : add high resolution stars to be used as bookmark icons Jan 10, 2019
shaders
src ValuePlugBinding : Fix GIL management bugs Mar 14, 2019
startup
.gitignore .gitignore: Added .sconf_temp to the ignore list Aug 23, 2017
.travis.yml
CODE_OF_CONDUCT.md
CONTRIBUTING.md Project Description : Add Contributing guidelines Aug 31, 2018
Changes
LICENSE
PULL_REQUEST_TEMPLATE.md
README.md Merge pull request #2960 from medubelko/docsReadmeInternalLinks Jan 7, 2019
SConstruct SConstruct : Specify `-fno-omit-frame-pointer` for RELWITHDEBUGINFO b… Mar 15, 2019

README.md

Gaffer Logo

Gaffer

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.

Download

Compiled binary releases are available for download from the releases page.

Building

Build Status

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.

Build Requirements

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.

Main Build Requirements

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

Documentation Build Requirements

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

Build Process

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

Questions and Troubleshooting

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.

Requesting Features

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.

Contributions and Bugs Reports

Please see the project's contribution guidelines.

Copyright and License

© 2011–2019 John Haddon. All rights reserved.

© 2011–2019 Image Engine Design Inc. All rights reserved.

Distributed under the BSD license.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.