Git Product home page Git Product logo

gaffer's Introduction

Gaffer

Gaffer is an open source application framework designed specifically for creating tools for use in visual effects production. It builds on top of the Cortex libraries, adding a flexible node-based computation framework and a user interface framework for editing and viewing node graphs. Gaffer ships with a number of sample modules and applications, not least of which is a module for the on-demand generation of procedural scenes for rendering.

More information can be found on the project homepage: http://imageengine.github.io/gaffer

Developer notes are available on the project wiki.

Downloading

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

Building

Gaffer is a fairly large project, and as such has a fairly complex build process. Before you start, you’ll want to make sure you have the following prerequisites installed on your system - these will be used to perform the build itself :

Gaffer also depends on a number of 3rd party libraries and python modules, many of which are not entirely straightforward to build. The Gaffer build process itself can build all the dependencies automatically though, and this is the approach that we recommend.

First off, you’ll need to download the source code for the 3rd party dependencies. The tarball contains everything you’ll need, including some important tweaks to some of the packages. Untarring the download should give a directory containing all the source - we’ll refer to this directory as <DEPENDENCIES_SRC_DIR>, so you can substitute in the actual location you use.

Next, get yourself a clone of the Gaffer source and change into that directory :

git clone https://github.com/ImageEngine/gaffer.git
cd gaffer

Decide where you would like your build to be created - we will refer to this location as <BUILD_DIR> below, so you can substitute in the correct location. Now tell SCons you would like to build all the 3rd party dependencies :

scons BUILD_DEPENDENCIES=1 DEPENDENCIES_SRC_DIR=<DEPENDENCIES_SRC_DIR> BUILD_DIR=<BUILD_DIR>

This will take a long time. Go out and buy yourself one of those fancy espresso machines from a distant shop (walk, don’t drive), come back, make yourself a coffee, and drink it really slowly. If all is well, you now have everything you need to build Gaffer itself, which you can do as follows :

scons BUILD_DIR=<BUILD_DIR> build

With a little luck, that’s it, and you can repeat just the last command any time you want to rebuild (there is no need to repeat the dependencies build, and you probably don’t want a second espresso machine anyway).

Contributing

Contributions to Gaffer are welcome. For small fixes we suggest just going ahead and making a pull request - for anything larger we recommend dicussing it on the developer list first, to avoid duplication of effort and to ensure that your whizz-bang ideas fit in with the general direction of the project.

© 2013, Image Engine Design Inc. © 2013, John Haddon under the BSD license

gaffer's People

Contributors

andrewkaufman avatar bentoogood avatar danieldresser avatar davidsminor avatar goddardl avatar johnhaddon avatar ldmoser avatar paulondc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.