From BlenderWiki

Jump to: navigation, search

Cycles Standalone

Work in progress
The standalone application is a work in progress, some features may be missing and the API is subject to change.


Cycles is nicely integrated into Blender, but can also be build as a standalone renderer (Screenshot). This can be used for testing purposes, but also allows an integration into other 3D programs and pipelines. Cycles is available under the permissive Apache 2.0 license.

Download

No precompiled binaries are available at the moment. Instead you can get the source code (see below) and compile your own.

Usage

Cycles needs to be started from a terminal: cycles [options] file.xml

Use cycles --help, to get an overview of the available options.

When rendering with the GUI, you can press H to get an overview of available shortcuts. You can pause, cancel or restart a render or try the interactive mode, which allows basic camera navigation.

For developers

Source code

The Cycles source code can be found here. It's a standalone repository which just contains the Cycles engine. You can find more infos and compile instructions there.

XML API

Cycles standalone has a XML API, which is used for mesh data and shader/settings import. There is no real API documentation at the moment, as the API is subject to change, but you can check the source code to get an idea:

app/cycles_xml.cpp: Main XML reading API. xml_read_file() is the main function here, xml_read_scene() calls the different XML loading routines for Geometry, Shaders and Settings then.

render/nodes.cpp: All shader nodes are declared here, check the strings in the add_input() and add_output() calls, these are the names used for shader parameters in XML (such as Scale or Radius for the Subsurface Scattering node).

Get Involved

Please see the current standalone code and its API as a proof of concept only.

We hope to get feedback and/or patches from developers, who are interested in implementing Cycles into other applications. Please get in contact via the bf-cycles mailing list or write a comment on our developer site if you like to get involved: https://developer.blender.org/T38279