DeepestScatter icon indicating copy to clipboard operation
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 Video

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