Engine with emphasis in physically based rendering techniques using ray and path tracing. Our goal is to achieve real-time results with physical foundations. The goal in the near future is to incorporate the Vulkan API into the abstractation layer and enable the ray tracing extension for better real-time performance and ease of use.
- OpenGL support
- Abstraction layer over the OpenGL API.
- Scene editor
- Allows to read from scene files and edit it in real time by changing object and material properties.
- Can either use PBR in Real time mode or Pathtracer mode for path tracing with tiled rendering live visualization.
- EXR and PNG frame export
- Supports exporting the current frame both in EXR and PNG file formats.
- CPU path tracing
- Multi-threaded CPU path tracing supporting both volumetric and opaque objects.
- Real-time visualization under the Scene Editor.
- GPU path tracing
- Supports only a single volumetric object for now.
- Real-time visualization under the Scene Editor.
- Scene file descriptor
- Materials supported: Microfacet GGX, Emitters, Volumes in .vdb and .vol format.
- Primitives supported: Point, Rectangle, Sphere, Volume, OBJ and GLTF files.
- Pinpoint camera with support to aperture and focus (in path tracing mode only).
- Node Editor
- Supports Materials editing for surfaces and soon for volumes.
- Simple Math Operations
- Dark/Light Mode
Tested on windows 7 and 10. Should work with Linux..
Steps to compile:- Install vcpkg
- vcpkg install openvdb
- git submodule init
- git submodule update
- mkdir build
- cd build
- cmake .. -DCMAKE_TOOLCHAIN_FILE=PathToYourVCPKG\vcpkg\scripts\buildsystems\vcpkg.cmake