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 ed05131b84 added tsm scene; smoothunion, more transforms, fix mat3 product; expose problem with lua api 3 years ago
prod added tsm scene; smoothunion, more transforms, fix mat3 product; expose problem with lua api 3 years ago
scenes added tsm scene; smoothunion, more transforms, fix mat3 product; expose problem with lua api 3 years ago
src added tsm scene; smoothunion, more transforms, fix mat3 product; expose problem with lua api 3 years ago
.gitignore initial commit 3 years ago
Cargo.lock initial commit 3 years ago
Cargo.toml initial commit 3 years ago
LICENSE added README.md, LICENSE and example 3 years ago
README.md new scene from inside a spherical mirror 3 years ago
test added tsm scene; smoothunion, more transforms, fix mat3 product; expose problem with lua api 3 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 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 3rd test scene randomly generated spheres randomly generated objects inside a spherical mirror

License

MIT