natnat-mc / rmarcher

A ray marching renderer in rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

A ray marching renderer in rust

License:MIT License


Languages

Language:Rust 88.6%Language:Lua 11.2%Language:Shell 0.2%