Rustic Zen:
Photon Garden Raytracer Impementation. Rust Impementation of Zenphoton
This project is hosted on Gitlab with a mirror to Github. Main Repo: https://gitlab.com/IGBC/rustic-zen/
Rustic Zen renders artworks from a scene definition by simulating individual photons and tracing their path as they bounce through a 2D. space.
Photons are generated by Lights and interact with Objects. Each interaction results in either the photon being absorbed, or being allowed to continue with a new direction, based on the rules defined by the Object's Material.
What this library Provides:
This library holds only the rendering framework and models for defining a scene. Functionality for defining a scene, i.e. generative and animation algorithms are not provided here. The focus of Rustic-Zen is providing the raytrace algorithms for rendering a static scene.
Rustic-Zen provides a single basic shader, for backwards compatiblity with prior art. It is expected that dedicated library users will use the exposed Material trait to create your own shaders.
Example usage:
extern crate rustic_zen;
extern crate png;
use *;
use hqz_legacy;
// To use encoder.set()
use HasParameters;
Example Output:

Versioning:
In alpha version numbers are 0.0.* every change will be breaking
In beta version numbers will be 0.*.* every minor release will be breaking
Post 1.0.0 semantic versioning will be used
Licence
This project and all artworks created by the examples are copyright Lauren Brown (SEGFAULT), and are licenced under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License
see the LICENCE.md file for full terms.