Skip to content

Real-time photo-realistic clouds ray tracer. Published @ SIGGRAPH Asia (2019)

License

Notifications You must be signed in to change notification settings

marsermd/DeepestScatter

Repository files navigation

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

  • Generate a sample cloud in Houdini
  • Exporter of volumetric data from Houdini
  • Importer of volumetric data for python and c++

Ground Truth

  • Naive implementation of path tracer that only takes into account Beer-Lambert law and direct scattering
  • Interactive visualisation of results
  • Naive implementation that also takes into account Lorenz-Mie phase function.
  • Implement multiple scattering using Monte-Carlo method
  • Implement progressive path tracing
  • Implement custom progressive path
  • Implement Reinhard tone mapping
  • Implement next event estimation

Dataset

  • Generate more clouds
  • Gather dataset of (cloud_id, point_in_cloud, sun_direction, view_direction, radiance)
  • Gather dataset of samples around the point according to the original paper
  • 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

  • Build a model in pytorch as described in the original paper
  • Train the model
  • Implement an efficient neural-based renderer in c++
  • Compare to the original results

Research Experiments with different architectures.

  • Shadow maps
  • Latent space light probes
  • Light probe rotation
  • Light probe interpolation (trilinear, barycentric)
  • Evaluate radiance only for the outer layers of the cloud