Raycore: GPU accelerated and modular ray intersections

Julia’s Raycore promises prettier graphics — fans cheer while Mac users and benchmark bros demand receipts

TLDR: Raycore.jl launches a new Julia-powered ray tracing engine aiming for photoreal visuals in Makie. The community celebrates the vision but pushes hard on Mac Metal support and “show us the Embree numbers,” splitting hype from proof-seekers and putting performance comparisons front and center.

Julia fans are buzzing: Raycore.jl just dropped, promising fast, photorealistic ray tracing for Makie (Julia’s visualization toolkit). In simple terms: it’s a new engine that helps computers fake realistic light and shadows, and it’s aiming to run on both CPUs and GPUs (graphics cards) with help from a fancy shortcut called BVH. The mood? Hype meets hard questions.

The launch post flexes Julia’s superpower—readable code that runs fast—and says this could plug into everything from graphics to heat and sound simulations. But the crowd immediately starts stirring the pot. One camp is cheering “finally, photoreal Makie!” while the skeptics show up with receipts: a Mac crowd asking about Apple’s Metal graphics support, and the performance police demanding comparisons to Intel’s beloved Embree engine. The classic Julia debate pops up too: that first-run delay where code compiles on the fly—fans say it’s a one-time pain, critics say it’s a vibe killer.

Humor is alive: one commenter joked we’re “one package away from raytracing breakfast,” and another quipped BVH stands for “Big Very Hype.” Meanwhile, the dev’s promise of flexibility and future GPU support has optimists framing this as Julia’s ray-demption arc, while the benchmark brigade won’t believe until the numbers land.

Key Points

  • Raycore.jl is a Julia library for fast ray–triangle intersections using BVH acceleration, designed for CPU and GPU execution.
  • It will serve as the raytracing backend for Makie, enabling photorealistic rendering with the existing Makie API.
  • GPU portability is provided via KernelAbstractions.jl, targeting CUDA, AMD, Metal, oneAPI, and OpenCL backends.
  • Acknowledged tradeoffs include first-use JIT compile times, GPU kernel constraints, and incomplete backend support (AMDGPU and OpenCL.jl tested; Metal.jl and macOS OpenCL not yet working).
  • The library offers analysis tools (centroid, illumination, radiosity view factors) and emphasizes extensibility and experimentation through Julia’s multiple dispatch and pluggable architecture.

Hottest takes

"Raycore will power a new raytracing backend for Makie" — simondanisch
"What were the issues with Metal.jl?" — arthurcolle
"Any benchmarks against embree?" — fogleman
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.