GithubHelp home page GithubHelp logo

jhamot / gaffer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gafferhq/gaffer

0.0 0.0 0.0 73 MB

Gaffer is a node-based application for lookdev, lighting and automation

Home Page: http://www.gafferhq.org

License: BSD 3-Clause "New" or "Revised" License

Shell 0.07% Ruby 0.01% C++ 47.45% Python 51.70% C 0.31% CMake 0.41% GLSL 0.03% Batchfile 0.03%

gaffer's Introduction

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.

Gaffer is officially supported and tested on Linux (CentOS 7) and macOS (macOS 10.14).

Building

CI

Gaffer targets the VFX Reference Platform. We are currently on CY2022. Aside from general platform development packages, we specifically require the following tools that may not be installed by default on your system. Without these, you will not be able to build Gaffer.

Note: 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.

Build requirements

Note: Specific package names may differ depending on your Linux distribution and repository.

Main build requirements

Package Name Version
gcc 6.3.1
scons
inkscape

Documentation build requirements

Note: Building the documentation is optional.

Package Name Minimum Version
sphinx 1.8
Python Module Required version
sphinx_rtd_theme 0.4.3
recommonmark 0.5.0
docutils 0.12

Build process

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

Gaffer depends on a number of 3rd-party libraries. We recommend using the 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.

The dependencies distribution forms the basis of a Gaffer build and the root of the expanded archive becomes the BUILD_DIRECTORY we pass to scons.

The easiest way to get the right dependencies version is to use the config/installDependencies.sh script included in the Gaffer source tree. This downloads the correct version for the version of Gaffer you are building and unpacks them to a directory of your choice.

In this example we're going to build gaffer to a gaffer-build directory next to our checkout.

./config/installDependencies.sh ../gaffer-build

You can then build Gaffer itself:

scons build BUILD_DIR=../gaffer-build

Note: If scons has any issues finding dependencies or tools, see SConstruct for the various options that can be set to specify their location.

With any luck, you now have a functioning version of Gaffer.

../gaffer-build/bin/gaffer

Building with third-party renderer support

Gaffer dependencies ships with Cycles, but to build the modules for one of the other supported third-party renderers, you will need to set appropriate scons options pointing to your installation. The options are:

  • Arnold: ARNOLD_ROOT
  • 3Delight: DELIGHT_ROOT

For example, the following command builds Gaffer with Arnold support:

scons build ARNOLD_ROOT=/path/to/arnold/6 BUILD_DIR=...

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–2020 John Haddon. All rights reserved.

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

© 2011–2020 Cinesite VFX Ltd. All rights reserved.

Distributed under the BSD license.

gaffer's People

Contributors

johnhaddon avatar andrewkaufman avatar danieldresser avatar tomc-cinesite avatar ericmehl avatar boberfly avatar davidsminor avatar goddardl avatar hughmacdonald avatar donboie avatar proberts-cinesite avatar murraystevenson avatar danieldresser-ie avatar est77 avatar ivanimanishi avatar medubelko avatar lucienfostier avatar dboogert avatar paulondc avatar mattigruener avatar themissingcow avatar bentoogood avatar timlehr avatar shingotakagi avatar ldmoser avatar gray10b avatar chrisc-lee avatar stefanfeess avatar vfxenjoyer avatar alex-savenko-at-cinesite 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.