Back to browse
A physically-based GPU ray tracer written in Julia

A physically-based GPU ray tracer written in Julia

by simondanisch·Feb 19, 2026·198 points·92 comments

AI Analysis

●●●●GemWizardryZero to OneEye Candy

Research-grade ray tracer in Julia; spectral path tracing on AMD/NVIDIA/CPU, no mesh export.

Strengths
  • Zero-friction research pipeline: same Makie API for interactive and photorealistic rendering, no export step
  • Hackability: state-of-the-art spectral path tracer in high-level language; black holes with lensing ~200 LOC
  • Cross-vendor GPU via KernelAbstractions.jl; Julia's multiple dispatch makes custom materials natural
Weaknesses
  • Pre-release; incomplete ecosystem (Metal coming soon, official packages not yet released)
  • Niche audience: requires Julia + scientific/research domain; limited adoption in industry graphics pipelines
Category
Target Audience

Research scientists, data viz engineers, Julia users doing computational work

Similar To

PBRT (C++) · Mitsuba (Python bindings) · Blender Cycles

Post Description

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

Similar Projects