Raytracing 3D renderer written in Rust
Find a file
2021-01-23 22:52:50 -05:00
src Add Light trait and PointLight instance 2021-01-23 22:52:50 -05:00
.gitignore Add .gitignore file 2020-11-29 15:39:36 -05:00
Cargo.toml Implemented bounding spheres for objects 2020-12-08 11:22:56 -05:00
README.md Add Light trait and PointLight instance 2021-01-23 22:52:50 -05:00

rust-render

A raytracing 3D renderer written in Rust.

Checklist of features

This list may be changed or extended in the future.

  • Raytracing camera
    • Camera struct
    • Ray creation code
  • Object code architecture
  • Sphere objects
    • Sphere struct
    • Sphere intersection test
    • Sphere normal generation
    • Color mapping on spheres
  • Plane objects
    • Plane struct
    • Plane intersection test
    • Color mapping on planes
  • Triangle objects
    • Triangle struct
    • Triangle intersection test
    • Triangle normal generation
    • Color mapping on triangles
    • Triangle mesh struct
    • Triangle mesh intersection test
  • Bounding spheres
  • Direct lighting
    • Point light sources
      • Point source struct
      • Point source illuminance test
      • Hard shadows
      • Soft shadows
    • Light-emitting surfaces
  • Indirect lighting
    • Reflection
      • Perfectly reflective objects
      • Diffuse reflection
      • Roughness
    • Transparency
      • Simple transparency
      • Refraction