<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title>Traverse</title><subtitle>Rendering research and game engineering, from the engineers doing the work.</subtitle><link rel="self" href="https://traverse.nl/feed.xml"/><link href="https://traverse.nl/"/><id>https://traverse.nl/</id><updated>2026-07-01T00:00:00Z</updated><author><name>Traverse Research B.V.</name></author><entry><title>Towards Real-time Dynamic GI on Mobile</title><link href="https://traverse.nl/insights/mobile-gi-siggraph-2026/"/><id>https://traverse.nl/insights/mobile-gi-siggraph-2026/</id><updated>2026-07-01T00:00:00Z</updated><published>2026-07-01T00:00:00Z</published><author><name>Jasper de Winther</name></author><summary>Jasper de Winther contributed Traverse’s mobile global-illumination research to the Moving Mobile Graphics course at SIGGRAPH 2026.</summary></entry><entry><title>Neural radiance caching on mobile GPUs</title><link href="https://traverse.nl/insights/mobile-nrc-publication/"/><id>https://traverse.nl/insights/mobile-nrc-publication/</id><updated>2025-12-14T00:00:00Z</updated><published>2025-12-14T00:00:00Z</published><author><name>Collin Allen, Luca Quartesan, Jasper de Winther and Jasper Bekkers</name></author><summary>Samsung and Traverse researchers co-authored Neural Radiance Cache Implementation on Mobile GPU for SIGGRAPH Asia 2025.</summary></entry><entry><title>A Fresnel Model for Coated Materials</title><link href="https://traverse.nl/insights/fresnel-coated-materials/"/><id>https://traverse.nl/insights/fresnel-coated-materials/</id><updated>2024-04-01T00:00:00Z</updated><published>2024-04-01T00:00:00Z</published><author><name>Hannes B. Vernooij</name></author><summary>Hannes B. Vernooij’s Eurographics 2024 paper presents an analytical RGB model for coated conductors.</summary></entry><entry><title>Dynamic diffuse global illumination</title><link href="https://traverse.nl/blog/dynamic-diffuse-global-illumination/"/><id>https://traverse.nl/blog/dynamic-diffuse-global-illumination/</id><updated>2023-12-30T00:00:00Z</updated><published>2023-12-30T00:00:00Z</published><author><name>Darius Bouma</name></author><summary>Inside Breda’s ReSTIR-based diffuse GI system, from candidate rays and temporal reuse to denoising and irradiance caching.</summary></entry><entry><title>Denoising raytraced images using OIDN</title><link href="https://traverse.nl/blog/denoising-raytraced-images-using-oidn/"/><id>https://traverse.nl/blog/denoising-raytraced-images-using-oidn/</id><updated>2023-12-29T00:00:00Z</updated><published>2023-12-29T00:00:00Z</published><author><name>Matej Kalocai</name></author><summary>In this blog post, I’ll write about how I recreated the OIDN U-Net DNN using Rust and HLSL compute shaders, and about my time as an Intern at Traverse Research.</summary></entry><entry><title>Neural Radiance Fields</title><link href="https://traverse.nl/blog/neural-radiance-fields/"/><id>https://traverse.nl/blog/neural-radiance-fields/</id><updated>2023-12-27T00:00:00Z</updated><published>2023-12-27T00:00:00Z</published><author><name>Jason de Wolff</name></author><summary>Hi there, I’m Jason de Wolff. Currently, I am in my 2nd year at Breda University of Applied Sciences, I was offered to do an internship here at Traverse Researchduring the summer break. During these 8 weeks, my…</summary></entry><entry><title>Creating a Directed Acyclic Graph from a Mesh</title><link href="https://traverse.nl/blog/creating-a-directed-acyclic-graph-from-a-mesh/"/><id>https://traverse.nl/blog/creating-a-directed-acyclic-graph-from-a-mesh/</id><updated>2023-12-26T00:00:00Z</updated><published>2023-12-26T00:00:00Z</published><author><name>Sylvester Hesp</name></author><summary>In this post, we’d like to walk you through the steps of creating a Directed Acyclic Graph, or DAG, that we use at Traverse Research for our in-house rendering framework, Breda, to do mirco-polygon rendering. This is…</summary></entry><entry><title>Beyond SAH: Building Optimal BVHs</title><link href="https://traverse.nl/blog/beyond-sah-building-optimal-bvhs/"/><id>https://traverse.nl/blog/beyond-sah-building-optimal-bvhs/</id><updated>2023-12-25T00:00:00Z</updated><published>2023-12-25T00:00:00Z</published><author><name>Athos Van Kralingen</name></author><summary>At Traverse Research we are always looking to improve ray-tracing performance. A large factor for optimizing this is building the right and best acceleration structure, usually a BVH nowadays. In the past year, we…</summary></entry><entry><title>Ray tracing animated crowds</title><link href="https://traverse.nl/blog/ray-tracing-animated-crowds/"/><id>https://traverse.nl/blog/ray-tracing-animated-crowds/</id><updated>2023-12-24T00:00:00Z</updated><published>2023-12-24T00:00:00Z</published><author><name>Jan Kind</name></author><summary>Animating large crowds in a ray-traced world. How we handle GPU animation, shared state and acceleration structures in the Breda renderer.</summary></entry><entry><title>An update to our Render Graph</title><link href="https://traverse.nl/blog/an-update-to-our-render-graph/"/><id>https://traverse.nl/blog/an-update-to-our-render-graph/</id><updated>2023-12-22T00:00:00Z</updated><published>2023-12-22T00:00:00Z</published><author><name>Brian</name></author><summary>Let’s start with some general stuff first; this will be an introductory post about the Render Graph developed at Traverse Research, intended for people already falmiliar with the basics of GPU programming. The main…</summary></entry><entry><title>Intro to rendering of animated volumetric models in Breda</title><link href="https://traverse.nl/blog/intro-to-rendering-of-animated-volumetric-models-in-breda/"/><id>https://traverse.nl/blog/intro-to-rendering-of-animated-volumetric-models-in-breda/</id><updated>2023-12-14T00:00:00Z</updated><published>2023-12-14T00:00:00Z</published><author><name>Jasper de Winther</name></author><summary>In this post, we’ll go over the basic building blocks of our real-time volumetric rendering process in the Breda graphics framework (developed at Traverse Research). This post is aimed at people experienced with…</summary></entry><entry><title>Animated volumetric rendering in Rust</title><link href="https://traverse.nl/insights/volumetric-rendering-rust/"/><id>https://traverse.nl/insights/volumetric-rendering-rust/</id><updated>2023-07-01T00:00:00Z</updated><published>2023-07-01T00:00:00Z</published><author><name>Traverse Research</name></author><summary>A Traverse Research Meetup topic connects OpenVDB, procedural fields and animated volumes to the Breda renderer.</summary></entry><entry><title>Fast CDF generation on the GPU for light picking</title><link href="https://traverse.nl/blog/fast-cdf-generation-on-the-gpu-for-light-picking/"/><id>https://traverse.nl/blog/fast-cdf-generation-on-the-gpu-for-light-picking/</id><updated>2022-12-08T00:00:00Z</updated><published>2022-12-08T00:00:00Z</published><author><name>Jan Kind</name></author><summary>In this blog post, I’ll take a deep dive into how we build our CDF for light sampling on the GPU at Traverse Research. I’ll give a quick rundown of what everything is, why you need it and finally how we made it run…</summary></entry><entry><title>Our layered material model</title><link href="https://traverse.nl/blog/our-layered-material-model/"/><id>https://traverse.nl/blog/our-layered-material-model/</id><updated>2022-12-06T00:00:00Z</updated><published>2022-12-06T00:00:00Z</published><author><name>Hannes Vernooij</name></author><summary>This blog post is aimed towards people with an interest in graphics who have knowledge about BRDFs and the math involved. In this post we will briefly go over how the layered material model we implemented works.</summary></entry><entry><title>NeuBTF research and source</title><link href="https://traverse.nl/insights/neubtf-publication/"/><id>https://traverse.nl/insights/neubtf-publication/</id><updated>2022-12-06T00:00:00Z</updated><published>2022-12-06T00:00:00Z</published><author><name>Luca Quartesan and Carlos Pereira Santos</name></author><summary>Public work on neural bidirectional texture functions, with publication and implementation links.</summary></entry><entry><title>Traverse Research at SIGGRAPH Asia 2022</title><link href="https://traverse.nl/blog/traverse-research-at-siggraph-asia-2022/"/><id>https://traverse.nl/blog/traverse-research-at-siggraph-asia-2022/</id><updated>2022-12-05T00:00:00Z</updated><published>2022-12-05T00:00:00Z</published><author><name>Traverse Research</name></author><summary>After a long time without conferences, this year, the Traverse Research team will be traveling to the SIGGRAPH 2022 conference in Daegu, Korea! While we’re there we’ll happily talk to folks about the projects we have…</summary></entry><entry><title>Bindless rendering: validation</title><link href="https://traverse.nl/blog/bindless-rendering-validation/"/><id>https://traverse.nl/blog/bindless-rendering-validation/</id><updated>2022-11-08T00:00:00Z</updated><published>2022-11-08T00:00:00Z</published><author><name>Darius Bouma</name></author><summary>With a bindless rendering pipeline in place as covered in the previous blogs, we are now faced with the problem of not being able to validate resource access yet. At the moment (of writing this blog) the validation…</summary></entry><entry><title>Building pure Rust apps for Android</title><link href="https://traverse.nl/blog/building-pure-rust-apps-for-android/"/><id>https://traverse.nl/blog/building-pure-rust-apps-for-android/</id><updated>2022-06-29T00:00:00Z</updated><published>2022-06-29T00:00:00Z</published><author><name>Marijn Suijten</name></author><summary>Rust is an amazing language. It has allowed us at Traverse Research to develop with much greater speed and courage thanks to additional safety guarantees (bar the few Foreign Function Interface crates that we…</summary></entry><entry><title>Render Graph 101</title><link href="https://traverse.nl/blog/render-graph-101/"/><id>https://traverse.nl/blog/render-graph-101/</id><updated>2022-04-29T00:00:00Z</updated><published>2022-04-29T00:00:00Z</published><author><name>Manon Oomen</name></author><summary>Designing an efficient renderer can be quite a tough task. Especially with the new low-level graphics APIs like DirectX 12 and Vulkan where it is now up to the graphics programmer to remove all small inefficiencies.</summary></entry><entry><title>Bindless rendering: Templates</title><link href="https://traverse.nl/blog/bindless-rendering-templates/"/><id>https://traverse.nl/blog/bindless-rendering-templates/</id><updated>2022-04-01T00:00:00Z</updated><published>2022-04-01T00:00:00Z</published><author><name>Darius Bouma</name></author><summary>In this continuation of bindless rendering: setup, we now shift our focus to using bindless resources in shaders. Previously we were using *RenderResourceHandles *to index the descriptor heap, but this still forces the…</summary></entry><entry><title>Bindless rendering: Setup</title><link href="https://traverse.nl/blog/bindless-rendering-setup/"/><id>https://traverse.nl/blog/bindless-rendering-setup/</id><updated>2022-03-11T00:00:00Z</updated><published>2022-03-11T00:00:00Z</published><author><name>Darius Bouma</name></author><summary>This is the first of a three-part series on writing a modern bindless rendering pipeline.</summary></entry><entry><title>Building Mitsuba0.6 with Anaconda Python bindings on Ubuntu18.04 (Docker)</title><link href="https://traverse.nl/blog/building-mitsuba0-6-with-anaconda-python-bindings-on-ubuntu18-04-docker/"/><id>https://traverse.nl/blog/building-mitsuba0-6-with-anaconda-python-bindings-on-ubuntu18-04-docker/</id><updated>2022-01-26T00:00:00Z</updated><published>2022-01-26T00:00:00Z</published><author><name>Luca Quartesan</name></author><summary>There are probably many of you out there with an old Mitsuba project that used to work, but you can’t get it to compile anymore. Or even worse, you received a project from a previous supervisor student, and well, it…</summary></entry></feed>