A ray marching renderer in rust
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Codinget 9529f56a01 fixed cylinders, added another lua scene 4 years ago
prod fixed cylinders, added another lua scene 4 years ago
scenes fixed cylinders, added another lua scene 4 years ago
src fixed cylinders, added another lua scene 4 years ago
.gitignore initial commit 4 years ago
Cargo.lock initial commit 4 years ago
Cargo.toml initial commit 4 years ago
LICENSE added README.md, LICENSE and example 4 years ago
README.md fixed cylinders, added another lua scene 4 years ago
test initial commit 4 years ago

README.md

rmarcher

A ray marching renderer in rust

small example

Dependencies

  • rust >= 1.51 for const generics
  • crossbeam && crossbeam-channel for multithreading
  • rand for rng
  • image for png export
  • rlua for lua scene building

What currently works

  • Simple shapes (half-spaces, spheres, cylinders and torus are the only tested ones so far)
  • Spectral simulation (currently using 4 color components)
  • Global illumination (with diffuse and reflective surfaces)
  • Punctual illumination
  • Defining scenes in lua

What is planned

  • Testing of more shapes
  • Support for a lua-based scene representation DSL
  • Support for controlling the whole application from lua
  • Support for linking against a scene.so exporting a scene
  • Support for using as a library

Examples

1st test scene 2nd test scene randomly generated spheres randomly generated objects

License

MIT