DeepestScatter
DeepestScatter copied to clipboard
Real-time photo-realistic clouds ray tracer. Published @ SIGGRAPH Asia (2019)
DeepestScatter
Real-time photo-realistic clouds path tracer with Lorenz-Mie scattering.
This is an enchancement on paper by Disney Research Deep Scattering.
Result
Published and presented at SIGGRAPG Asia
State of the project
Preparation
- [x] Generate a sample cloud in Houdini
- [x] Exporter of volumetric data from Houdini
- [x] Importer of volumetric data for python and c++
Ground Truth
- [x] Naive implementation of path tracer that only takes into account Beer-Lambert law and direct scattering
- [x] Interactive visualisation of results
- [x] Naive implementation that also takes into account Lorenz-Mie phase function.
- [x] Implement multiple scattering using Monte-Carlo method
- [x] Implement progressive path tracing
- [x] Implement custom progressive path
- [x] Implement Reinhard tone mapping
- [x] Implement next event estimation
Dataset
- [x] Generate more clouds
- [x] Gather dataset of (cloud_id, point_in_cloud, sun_direction, view_direction, radiance)
- [x] Gather dataset of samples around the point according to the original paper
- [x] Separate the dataset for training, test, validation with total size of 15`000`000; leave a few clouds out of those sets for visual evaluation
Training
- [x] Build a model in pytorch as described in the original paper
- [x] Train the model
- [x] Implement an efficient neural-based renderer in c++
- [x] Compare to the original results
Research Experiments with different architectures.
- [x] Shadow maps
- [x] Latent space light probes
- [x] Light probe rotation
- [x] Light probe interpolation (trilinear, barycentric)
- [x] Evaluate radiance only for the outer layers of the cloud