https://github.com/111116/shexp-demo
Implementation of Real-time Soft Shadows in Dynamic Scenes using Spherical Harmonic Exponentiation
https://github.com/111116/shexp-demo
real-time-rendering spherical-harmonics
Last synced: 6 months ago
JSON representation
Implementation of Real-time Soft Shadows in Dynamic Scenes using Spherical Harmonic Exponentiation
- Host: GitHub
- URL: https://github.com/111116/shexp-demo
- Owner: 111116
- Created: 2021-04-21T03:29:25.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-05-22T06:11:40.000Z (over 4 years ago)
- Last Synced: 2025-03-29T04:12:01.871Z (6 months ago)
- Topics: real-time-rendering, spherical-harmonics
- Language: C++
- Homepage:
- Size: 51.3 MB
- Stars: 4
- Watchers: 2
- Forks: 2
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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.