111116 / shexp-demo

Implementation of Real-time Soft Shadows in Dynamic Scenes using Spherical Harmonic Exponentiation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Spherical Harmonics Exponentiation

Implementation of Real-time Soft Shadows in Dynamic Scenes using Spherical Harmonic Exponentiation. Supports static scene of diffuse objects and area / environment light.

Build & Run

Linux dependencies for glfw: xorg-dev libgl1-mesa-dev

build

mkdir build && cd build
cmake ..
make

run interactive

./playground

output single image then quit

./playground -s

To test at different SH order, edit shorder.hpp

To change scene configuration / SHEXP algorithm, edit main.cpp

Note: To obtain best results, theta_max and theta_min should be tuned.

Preprocess tools

util/envmap project θ-φ parameterized light probe image onto SH bases.

util/makelut precompute shlog of visibility functions & corresponding shexp OL coefficients.

gamma/src/makesparse tabulate SH tripling tensor

github.com/111116/sphere-set-approximation generate sphere representation of object.

About

Implementation of Real-time Soft Shadows in Dynamic Scenes using Spherical Harmonic Exponentiation


Languages

Language:C++ 71.3%Language:C 25.0%Language:Fortran 1.8%Language:Objective-C 1.3%Language:CMake 0.4%Language:GLSL 0.1%Language:Less 0.1%Language:HTML 0.0%Language:Makefile 0.0%