I’ve been experimenting with Rust lately and wanted a project that would help me explore some of its lower-level and performance-oriented features. Inspired by Sebastian Lague’s videos, I decided to implement my own ray tracer from scratch.
The initial goal was just to render a simple 3D scene in the browser at a reasonable frame rate. It evolved into a small renderer that can:
• Run locally or on the web using wgpu and WebAssembly
• Perform mesh rendering with a Bounding Volume Hierarchy (BVH) for acceleration
• Simulate both direct and indirect illumination for photorealistic results
• Be deployed easily as a free web demo using GitHub Pages
The project is far from perfect, but it’s been a fun way to dig deeper into graphics programming and learn more about Rust’s ecosystem. I’m also planning to experiment with Rust for some ML projects next.
The initial goal was just to render a simple 3D scene in the browser at a reasonable frame rate. It evolved into a small renderer that can: • Run locally or on the web using wgpu and WebAssembly • Perform mesh rendering with a Bounding Volume Hierarchy (BVH) for acceleration • Simulate both direct and indirect illumination for photorealistic results • Be deployed easily as a free web demo using GitHub Pages
The project is far from perfect, but it’s been a fun way to dig deeper into graphics programming and learn more about Rust’s ecosystem. I’m also planning to experiment with Rust for some ML projects next.
GitHub: https://github.com/tchauffi/rust-rasterizer Web demo (desktop browsers): https://tchauffi.github.io/rust-rasterizer/
Would love feedback from anyone who’s built similar projects or has experience with wgpu or ray tracing in Rust.