/Elixir

An offline, physically-based pathtracing renderer

Primary LanguageC++GNU General Public License v3.0GPL-3.0


Elixir-Logo

A (WIP) physically based raytracing renderer based on PBRT and SORT.

Travis Build Status

Website | Documentation

Introduction

Elixir is a cross-platform raytracing renderer written in C++, meant to be used as a standalone program or alongside 3D packages such as Blender and Cauldron as a renderer plugin.

Inspired by previous works such as PBRT and SORT, Elixir is physically based and implements similar features such as different integrators (witted, path tracing), special acceleration structures, and various BXDFs. The project is still very early in its development stages.

Elixir is open-sourced, licensed under the GNU General Public License v3.

Getting Started

Note: Elixir is currently a WIP and is considered unstable. Proceed with caution at your own risk.

Building

Elixir uses CMake to build it's binaries. If you would like to build Elixir yourselves, run the following CMake commands to generate project files and compile with your favourite C++ compiler.

$ cmake -B build -S . -DCMAKE_CONFIGURATION_TYPES:STRING="Debug;Release;" -DCMAKE_BUILD_TYPE=Release
$ cmake --build ./build/

This will generate OS specific project in the /build/ folder, and will build the Elixir binaries into /bin/.

Rendering

Elixir currently only supports .obj inputs. A .obj model can be rendered by running Elixir in the command line.

$ elixir model.obj

Some settings such as the number of threads to use can also be configured. These options will be listed by running Elixir with --help.

Screenshots