A physically-based GPU ray tracer written in Julia
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.
We ported pbrt-v4 to Julia and built it into a Makie backend. Any Makie plot can now be rendered with physically-based path tracing.Julia compiles user-defined physics directly into GPU kernels, so anyone can extend the ray tracer with new materials and media - a black hole with gravitational lensing is ~200 lines of Julia.Runs on AMD, NVIDIA, and CPU via KernelAbstractions.jl, with Metal coming soon.Demo scenes: github.com/SimonDanisch/RayDemo
HN · launched Feb 19, 2026 · 198 upvotes (top 5%) · 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 Porting a physically-based path tracer (pbrt-v4) to Julia with custom GPU kernel compilation involves advanced computational physics, rendering mathematics, and compiler internals.
What it would actually take: Implementing a physically-based path tracer requires deep mastery of radiometric transport theory, Monte Carlo integration, multiple importance sampling (MIS), BVH (Bounding Volume Hierarchy) spatial acceleration structures, and BSDF scattering algorithms. Porting this to Julia GPU kernels requires writing kernel-level abstractions using CUDA.jl or KernelAbstractions.jl that compile dynamic user code directly to native GPU machine code without dynamic allocations or runtime overhead.
Discussion
20 comments analyzed.
Competitors mentioned: Python with C/C++/Fortran for heavy lifting, Cython, Numba, Pythran, PyPy, Rust for software engineering, MATLAB
Concerns raised: Precompilation times on Windows much slower than Linux, Exponential compile times with certain type unification combinations, Unexpected latency in build and startup time for scripts/applications, Difficulty predicting performance of code snippets, Poor AOT support and experimental --trim option
Feature requests: Better diagnostics explaining why precompilation is triggered, Asymmetric/non-symmetric multimethods instead of symmetric, Built-in static typing/proper enum support instead of separate packages, StaticArrays as part of Base for numerical applications, Better AOT compilation support
Competitors
Other products that read as similar to this one : 286 launches clear the similarity bar, closest 8 shown.
Attention rank: #17 of 287 (itself plus its competitors, highest first, normalized so YC and Product Hunt are compared fairly).
Launched 113 days after the earliest competitor.
- Physically accurate black hole you can put in your room · hn · 2026-07-23 · 477 upvotes · similarity 0.50
- a Rust ray tracer that runs on any GPU · hn · 2025-11-03 · 95 upvotes · similarity 0.48
- NebulaViewer · github · 2026-10-26 · 13 upvotes · similarity 0.47
- kerr-black-hole · github · 2026-10-17 · 13 upvotes · similarity 0.47
- genpark-ray-tracer-sphere-plane-shading-skill · github · 2026-09-28 · 7 upvotes · similarity 0.47
- High speed graphics rendering research with tinygrad/tinyJIT · hn · 2026-01-22 · 31 upvotes · similarity 0.46
- taichi-path-tracer-from-buaa-cg2024 · github · 2026-09-13 · 25 upvotes · similarity 0.46
- StratoSync · ph · 2026-09-15 · 1 upvotes · similarity 0.45
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.