The RenderQueue is a collection of creative coding experiments by Johan Holwerda and me.
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.
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)
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.
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.
Jellyfish
Mysterious creatures of the deep sea, procedurally generated with particles.
View Jellyfish at the RenderQueue.
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)
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)
Particle Dance
Partiles are spawned at the surface of a animated skinned mesh.
View Particle Dance at the RenderQueue.