peterbraden / rays.rust

A rust implementation of a raytracer.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rays.rust

Build Status

Gallery

block terrain

See full gallery of test scenes

A raytracer written in rust.

Supports:

  • Tracing (Integrator)

    • Whitted tracing
    • Path tracing with basic Monte-Carlo global illumination
      • Lambertian
      • Specular
      • Dielelectric
  • Objects

    • Sphere
    • Plane
    • Mesh
    • OBJ file to mesh import
    • Infinite Mesh
  • Skysphere with Rayleigh and Mie Scattering

  • Procedural Objects

    • Ocean (Tessendorf's algorithm with Phillips spectrum)
    • Random Cubes
  • Multithreaded

  • Progressive rendering

Install / Run

cargo run --release -- -p demo/demo.json

Blog Posts

References

Previous Work

This is the latest in a series of raytracers I've implemented to make art, learn languages, and explore algorithms.

About

A rust implementation of a raytracer.

License:Other


Languages

Language:Rust 100.0%