TraverseWork with us
Menu

The Traverse blog

The work behind the frame.

Rendering, GPU engineering and the systems around them. Technical articles from the people writing the code.

From the engineering desk.

17 articles. The details, trade-offs and code behind the work.

17 articles

denoising

Denoising raytraced images using OIDN

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.

Matej Kalocai8 min read

Read article

graphics

Neural Radiance Fields

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…

Jason de Wolff4 min read

Read article

directed acyclic graph

Creating a Directed Acyclic Graph from a Mesh

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…

Sylvester Hesp14 min read

Read article

ray tracing

Beyond SAH: Building Optimal BVHs

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…

Athos Van Kralingen13 min read

Read article

graph

An update to our Render Graph

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…

Brian10 min read

Read article

Engineering

Fast CDF generation on the GPU for light picking

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…

Jan Kind16 min read

Read article

Engineering

Our layered material model

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.

Hannes Vernooij6 min read

Read article

machine learning

Traverse Research at SIGGRAPH Asia 2022

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…

Traverse Research5 min read

Read article

validation

Bindless rendering: validation

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…

Darius Bouma7 min read

Read article

android

Building pure Rust apps for Android

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…

Marijn Suijten9 min read

Read article

render graph

Render Graph 101

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.

Manon Oomen8 min read

Read article

vulkan

Bindless rendering: Templates

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…

Darius Bouma9 min read

Read article