Skip to content

wubugui/gaffer

 
 

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

© 2018 John Haddon. All rights reserved.

© 2018 Image Engine Design Inc. All rights reserved.

Distributed under the BSD license.

About

Gaffer is an open source application framework designed specifically for creating tools for use in visual effects production.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 49.5%
  • C++ 49.2%
  • CMake 0.7%
  • C 0.3%
  • CSS 0.2%
  • Shell 0.1%