Skip to content

A rust implementation of a raytracer.

License

Notifications You must be signed in to change notification settings

peterbraden/rays.rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages