thomas-gale / monte-carlo

Learn about Monte Carlo methods for radiation and conduction.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

monte-carlo

Learn about Monte Carlo methods for radiation and conduction.

stack

  • rust language
  • wgpu binding library
  • wgsl shader language

running (you'll need decent GPU that supports float textures - tested on Nvidia RTX 2070 Super)

  • Install rust https://www.rust-lang.org/tools/install
  • cargo run
  • A fixed 1280x1024 screen will be opened
  • Esc to quit
  • Left mouse click and drag to orbit (framerate probably will be quite low)
  • Right mouse click and drag to change slice plane
  • Mouse wheel to zoom

configuration

https://github.com/thomas-gale/monte-carlo/blob/main/src/bvh_raytracing/constants.rs

plan

intro

mesh

  • Support loading of .obj / mesh files and parse into the bvh hittables with other primitives
  • Signed distance and ray intersection shader functions for triangles
  • Laplace walk on spheres
  • Poisson walk on spheres

code structure

  • Refactor from direct wgpu impl to bevy and re-structure the code into the ECS pattern.

pictures

ray_tracing_in_one_weekend final scene bvh preview in final scene volume sphere in cornel box wos laplace sample plane wos laplace sample plane bunny mesh

About

Learn about Monte Carlo methods for radiation and conduction.


Languages

Language:Rust 100.0%