Coder Social home page Coder Social logo

huazyyang / fluctus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from harskish/fluctus

0.0 0.0 0.0 92.97 MB

An interactive OpenCL wavefront path tracer

License: MIT License

Shell 0.06% C++ 72.61% Python 0.15% C 26.19% CMake 0.97% SWIG 0.02%

fluctus's Introduction

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.

Gallery

Dining Room

San Miguel

Classroom

Spaceship

DOF

License

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

fluctus's People

Contributors

harskish 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.