JuliaCon 2026

Makie.jl Highlights: Raytracing, Compute Graphs and Complex Recipes
2026-08-13 , Room 1

We want to show off the most exciting developments in Makie over the past year: a new GPU-enabled ray tracing system for beautiful renderings written entirely in Julia, the compute pipeline refactor that replaced Observables in many internals and fixed the age-old multiple updates conundrum, and the upcoming complex recipe system that could change how most users write plotting functions in Makie.


Makie is Julia's most comprehensive native plotting ecosystem, with nearly all functionality implemented in Julia itself. In this talk we want to present the highlights of last year's development and take a take a look at what the future might hold for the project.

With RayMakie and Hikari, Makie has gained a new photorealistic GPU-accelerated ray tracing backend. Compared to the existing RPRMakie backend which was based on the Radeon ProRender framework and never quite lived up to its potential, RayMakie and its dependencies Hikari and Raycore are written in Julia. This gives a much greater degree of flexibility, the opportunity to implement custom tracing passes, and it allows to target platforms that were unreliable or unusable with ProRender. Built as a Julia port of pbrt-v4, Hikari supports physically-based materials, volumetric media, and environment lighting, all running on different types of GPUs via KernelAbstractions.jl. RayMakie opens up a new world of visualizations for Makie users, where light can be used in a more technical way, like visualizing simulated clouds to verify algorithms, or in more artistic ways, rendering 3D data in a way that sparks curiosity. We'll present some beautiful renderings and give interested users ideas how to get started.

Second, we'll cover v0.24's switch from Observables to compute graphs from ComputePipeline.jl. This fundamental refactor enabled synchronized multi-attribute updates and eliminated redundant intermediate computations. Many users are not yet aware how they can utilize the new features or how they might benefit from a rewrite of old Observables based code. We'll go over some typical patterns and also clarify in what situations Observables are still the way to go.

Third, we want to introduce complex recipes, an upcoming feature that fills in longstanding gaps in Makie's API and should make it easier for most users to write themeable and composable plotting functions. The existing @recipe macro was designed as a low-level building block and never intended to handle multi-axis scenarios with automatic legends, colorbars, or even UI elements, which is nevertheless what people have tried to implement with it. The age-old question "how do I simply add an axis title to my recipe" might finally get some answers.

We'll finish off with a brief outlook on the future of the Makie project and where we're headed next.

Senior Product Engineer at Pumas AI
Co-author and co-maintainer of Makie.jl, maintainer of AlgebraOfGraphics.jl.
Creator of various packages such as Chain.jl or SummaryTables.jl.

Simon Danisch is the creator of Makie.jl, Bonito.jl, GPUArrays.jl, and BonitoBook.jl. With a background in cognitive science and computer vision, he has spent the last decade building out Julia's visualization, interactive UI, and GPU computing ecosystem.

This speaker also appears in: