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

 

History

206 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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