a Rust ray tracer that runs on any GPU
even in the browser
Get picks like this daily. Today's launch numbers, the top launches, AI and tech news, and a daily opportunity pick, straight to your inbox.
Want to reach these readers? Sponsor an issue.
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 PagesThe 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.
HN · launched Nov 3, 2025 · 95 upvotes (top 9%) · 0 views
Niche: graphics rendering engines and libraries · 149 launches, 10 in the last 7 days ▼ -23% · Explore this niche →
Category and tags
- Horizontal
- Dev tools
- Developer
- Not AI
- Hobby / open-source project
Visit website ↗ Source listing ↗
More like this: all 149 launches in graphics rendering engines and libraries →
Could you build this?
No Implementing a cross-platform GPU ray tracer in Rust targeting WebGPU/WASM involves low-level computer graphics programming, shader development (WGSL), and hardware-specific math that cannot be vibe-coded.
What it would actually take: The stack involves Rust, WGPU (WebGPU API wrapper), and WGSL shader programming for hardware ray tracing or compute shader bounding volume hierarchies (BVH). The core complexity is writing custom BVH construction algorithms, ray-object intersection kernels, and handling GPU memory alignment and cross-platform shader limitations across desktop and mobile browsers.
Discussion
20 comments analyzed.
Competitors mentioned: Vulkan (native GPU API), WebGL (browser graphics), Eigen (matrix multiplication libraries), wgpu (WebGPU wrapper)
Concerns raised: WebGPU not well-supported across browsers, Firefox doesn't run demo, Doesn't actually run on most GPUs despite claims, M1/Safari issues, Poor performance with mega-kernels, bad for occupancy, Title/claims are clickbaity, misleading about portability benefits, WebGPU lagging behind Vulkan API, re-implementing outdated standards
Feature requests: Collapse sidebar by default, currently covers 90% of screen, Apply roughness to environment map, Use wavefront path tracing instead of mega-kernels, Stochastically discard indirect paths with low contribution
Competitors
Other products that read as similar to this one : 572 launches clear the similarity bar, closest 8 shown.
Attention rank: #75 of 573 (itself plus its competitors, highest first, normalized so YC and Product Hunt are compared fairly).
Launched 5 days after the earliest competitor.
- ThreeRT · github · 2026-11-10 · 282 upvotes · similarity 0.59
- PyMOL-RS · hn · 2026-02-26 · 5 upvotes · similarity 0.57
- diagonal-blend · github · 2026-10-27 · 14 upvotes · similarity 0.56
- WebGPU React Renderer Using Vello · hn · 2026-01-17 · 5 upvotes · similarity 0.53
- Tsplat · hn · 2026-04-14 · 7 upvotes · similarity 0.51
- Manim (3Blue1Brown's animation engine) in the browser via WebGPU · hn · 2026-07-29 · 49 upvotes · similarity 0.51
- I wrote a C++ ray tracer from scratch without AI · hn · 2026-06-15 · 155 upvotes · similarity 0.51
- stecyk3d · github · 2026-10-23 · 24 upvotes · similarity 0.51
The niche, labels, vibe code rating and competitor comparison on this page are analysis by Nicheloom. If you use them, please credit nicheloom.com. How you may use our data.