Skip to content

Latest commit

 

History

65 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rusty Rays

Learning Rust by implementing a ray tracer.

My latest rendered image:

Latest rendered image

CI Status

To-Do

  • Start unit testing
  • Start GitHub Actions
  • Closed loop ray casting per pixel
  • GUI mode for adjusting parameters
  • Make hit records automatically set ni_ovet_nt
  • Sequential rendering across the full image
  • Loading scenes from files
  • Render triangles
  • Subsurface scattering
  • Render STLs
  • Render OBJs
  • Unified material struct instead of enums-per-material
  • Batch mode to only render part of image and return
  • Multithreaded CPU rendering
  • GPU compute
  • Fraunhofer diffraction

Project Goals

  • Cornel box render
  • "Icy" bouncy ball material render
  • Stanford dragon model render
  • Batch process pipeline
  • Rerender a Processing Daily
  • Pre-commit hook to upload latest rendered image automatically
  • Git LFS to limit repo size creep with images

Book(s) Used

This is not me deriving computer graphics theory, just getting familiar with the Rust language.

As such, I'm following along with existing resources implementing their solutions in Rust as an exercise.

Ray Tracing The Next Week

Ray Tracing: The Next Week

  • Chapter 2 - Motion Blur
  • Chapter 3 - Bounding Volume Hierarchies
  • Chapter 4 - Texture Mapping
  • Chapter 5 - Perlin Noise
  • Chapter 6 - Quadrilaterals
  • Chapter 7 - Lights
  • Chapter 8 - Instances
  • Chapter 9 - Volumes
  • Chapter 10 - A Scene Testing All New Features

Ray Tracing In One Weekend

Ray Tracing in One Weekend

  • Chapter 1 - Overview
  • Chapter 2 - Output an Image
  • Chapter 3 - Vec3 Implementation
  • Chapter 4 - Rays, Simple Camera, and Background
  • Chapter 5 - Adding a Sphere
  • Chapter 6 - Surface Normals and Multiple Objects
  • Chapter 7 - Camera Code Refactoring
  • Chapter 8 - Antialiasing
  • Chapter 9 - Diffuse Materials
  • Chapter 10 - Metal
  • Chapter 11 - Dielectrics
  • Chapter 12 - Positionable Camera
  • Chapter 13 - Defocus Blur
  • Chapter 14 - Next Steps

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages