Skip to content

Walther/clovers

Repository files navigation

clovers 🍀 ray tracing in rust 🦀

Raytraced render with a lot of fancy objects! metal-based checkerboard floor with a slight fuzziness to it, teal-colored matte teapot on the left, pink matte bunny on the right, golden metal dragon in the back center, a dark metal sphere with slight fuzziness and a hovering clear glass sphere in the front center, and a slightly ominous tall tower of fog in the back left

Usage

Currently, this project is highly experimental. Things change all the time.

  • clovers/ contains the library
  • clovers-cli/ contains the CLI application

The automatically built documentation is hosted at https://walther.github.io/clovers/clovers/.

This project has a Justfile. If you have just installed, you can run just to list the available commands in this project, and run various forms of just command --option args to execute them.

If you do not have just installed, open the Justfile in your favorite text editor to see the various available commands that you can then copy to your shell manually.

License

This project does not currently have an open license, you can consider it proprietary software that happens to have its source visible. I might pick an open license at some point, or make this project private. No guarantees, sorry!

If you make a PR to this repository, please acknowledge that you are giving all rights to this project.

Model files

This repository has some example model files for demonstrating triangle-based object imports in addition to the declarative object primitives.

  • Utah Teapot model teapot.stl CC0 1.0 Universal Public Domain Wikipedia
  • Stanford Bunny model bunny.stl CC Attribution 3.0 Unported Wikipedia
  • Stanford Dragon model dragon.stl (stl converted version) CC Attribution Thingiverse
  • Rubber Duck model duck.stl CC0 1.0 Universal Public Domain Thingiverse
  • Triangular Prism model prism.stl Public Domain Wikipedia

Useful references

Making this renderer would not have been possible without the availability of an abundance of great literature. Here are listed some of the sources that have been useful: