Fluctus Save

An interactive OpenCL wavefront path tracer

Project README

Fluctus

OpenCL wavefront path tracer

Country Kitchen

Features

  • Physically based renderer
    • PBRT and OBJ scenefiles
    • Lambertian, glossy, ideal specular, and microfacet (GGX) BSDFs
    • Multiple importance sampled environment maps (alias method)
  • Wavefront path tracing at interactive framerates
    • Two implementations, one tuned for latency and the other for throughput
    • Optimized structure of arrays data layout
    • Efficient BVH with spatial splits
  • OptiX AI denoiser (on supported NVIDIA hardware)
    • Requires OptiX 7, CUDA 10.1+, driver 435.80+
  • Supports a wide variety of systems
    • Cross-platform (Windows, MacOS, Linux)
    • NVIDIA, AMD and Intel GPUs and CPUs
    • CPU debugging with Intel's OpenCL SDK
  • Nanogui-based user interface
    • Uses only modern OpenGL (3.3+)
  • Uses CLT for convenience and robustness

Usage

Rename settings_default.json to settings.json. Modify to set default OpenCL device, render scale, window dimensions etc.

Controls

Key Action
W / A / S / D Move camera (up/down with R/F)
Mouse left Look around
Mouse right Pick DoF focal depth (after setting aperture size)
Scroll Up / Down Adjust movement speed
Space Place area light
F1 Reset camera
F2 Save camera/area light state
F3 Load saved state
F5 Export image
F6 Toggle OptiX Denoiser (if built)
H Toggle light sources (environment/area/both)
I / K Adjust max bounces
Z / X Adjust environment map emission
L Open scene selector
M Switch sampling mode
U Toggle UI
Page Up / Down Adjust area light emission
1-5 Select scene 1-5 (if set in settings.json)
7 Switch metween microkernel/wavefront
8 / 9 Change area light size
, / . Change FOV

Build

See the build instructions.

Dining Room

San Miguel

Classroom

Spaceship

DOF

License

Source code and resources provided under the MIT LICENSE, unless otherwise specified.

Open Source Agenda is not affiliated with "Fluctus" Project. README Source: harskish/fluctus
Stars
67
Open Issues
1
Last Commit
5 months ago
Repository
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating