The RenderQueue is a collection of creative coding experiments by Johan Holwerda and me.

Level of detail using SDF

SDF LOD

Near objects (a Stanford dragon with 80k triangles each) are rendered with triangles and far objects are drawn by ray-marching signed distance fields. Object are sorted front to back for minimal overdraw. Drag the instance count slider to see how many instances your device can draw

View SDF LOD at the RenderQueue.

Building a BVH to accelerate ray tracing

BVH Ray Tracing

Experiment to build a Bounding Volume Hierarchy (BVH) to speed up raytracing. The code is based on the excellent tutorial: Coding Adventure: Optimizing a Ray Tracer (by building a BVH) by Sebastian Lague.

View BVH Ray Tracing at the RenderQueue. (blog post)

A screensaver with Turtle graphics

Turtletoy

This demo draws and animate Turtle (vector) graphics. It is used to render the header and screensaver of Turtletoy.

View Turtletoy at the RenderQueue.

Four particle types interacts with each other

Particle Life

There are four types of particles and a 4 x 4 interaction matrix which holds numbers between -1 (fully attract) and 1 ( fully repel). In most random configurations, the particles will form some patterns.

View Particle Life at the RenderQueue.

3D Gaussian Splatting for Radiance Field Rendering

Gaussian splatting

based on the 3D Gaussian Splatting for Real-Time Radiance Field Rendering paper. This demo uses the hardware rasterizer and not a tile based renderer for the point rendering. Points are sorted fully every frame with counting sort instead of using radix sort like in the paper. https://arxiv.org/abs/2308.04079

View Gaussian Splats at the RenderQueue.

Mysterious creatures of the deep

Jellyfish

Mysterious creatures of the deep sea, procedurally generated with particles.

View Jellyfish at the RenderQueue.

Townscaper’s rendering style in WebGL

Townscaper

I reverse-engineered Townscaper’s rendering style in WebGL.

You can drag and drop an exported .obj file from the game onto the WebGL canvas to display it.

View Townscaper at the RenderQueue. (blog post)

Ray Tracing On using WebGL1

Wolfenstein RTX

Ray tracing is used to add diffuse global illumination to the first level of the Wolfenstein 3D game. You can also enable ray traced reflections on the spheres.

View Wolfenstein RTX at the RenderQueue. (blog post)

Dancing character made out of particles

Particle Dance

Partiles are spawned at the surface of a animated skinned mesh.

View Particle Dance at the RenderQueue.