Surfel-based global illumination on the web
- Auto-discovered
Jure Triglav
Visit resource ↗Description
Surfel-based global illumination on the web is a January 2026 interactive article by Jure Triglav on implementing surfel GI with WebGPU compute shaders in the browser.
It walks through surfelization from a G-buffer, a camera-centered cascaded 3D grid inspired by Kajiya, BVH ray queries via three-mesh-bvh, hemisphere guiding, multi-scale mean estimation for temporal stability, radial depth atlases against light leaks, and a resolve pass that shades pixels from nearby surfels. Interactive WebGPU demos illustrate each stage on scenes such as Sponza.
It is for intermediate to advanced web graphics programmers comfortable with compute passes, G-buffers, and real-time GI approximations.
The piece is a free long-form HTML post with embedded demos that require a WebGPU-capable browser.
It is useful as a full pipeline narrative for bringing SEED-style surfel GI ideas onto the open web.
Related resources
- Custom Renderer Features (Cyanilux)
Long-form Cyanilux guide to URP ScriptableRendererFeature and ScriptableRenderPass code: example effects, RTHandle setup, blit paths, and Unity 6 Render Graph notes.
100% match · <code><shaders><advanced><blog><camera><free><full><implementing> - Depth (Cyanilux)
Long-form Cyanilux tutorial on Unity depth spaces, Z buffers, Scene Depth sampling, SV_Depth, and world-position reconstruction in URP and HDRP.
100% match · <code><shaders><advanced><blog><buffer><buffers><camera><depth> - Intro to the Shader Pipeline (Cyanilux)
Introductory Cyanilux blog post on Unity meshes, shader stages, render pipelines, materials, C# property setup, batching, and forward versus deferred paths.
100% match · <code><shaders><blog><each><free><full><mesh><pipeline> - A gentle introduction to shaders (Alan Zucconi)
Alan Zucconi's A gentle introduction to shaders in Unity3D (June 2015) is part one of his Gentle Introduction series on alanzucconi.com, aimed at Unity developers new to GPU programs. It connects vertices, materials, and shaders in Unity's pipeline, covering ShaderLab Properties and SubShader layout, inspector uniforms, Queue tags, ZTest, and the surface-versus-vertex/fragment split for lighting versus effects. Little prior shader knowledge is assumed; fixed-function shaders are skipped as obsolete.
100% match · <shaders><blog><article><free><long><programmers><real><three> - A Look at Spyro's Portals - Rendering the Background
Daniel Pokladek's November 2020 post begins a Unity series on Spyro Reignited portal shaders, focusing on the background visible through the opening while later installments cover
100% match · <blog><article><each><free><programmers><real><shaders><style> - Blending Meshes into Terrain (Inresin)
Louis Waloschek's April 2020 Inresin tutorial blends static meshes into Unity Terrain using baked depth masks and Amplify surface shaders.
100% match · <code><shaders><advanced><blog><article><free><mesh><programmers> - Blur Renderer Feature Example/Template for URP / Unity 2021.2 (Alexander Ameye)
Custom Render Passes in Unity is Alexander Ameye's July 2021 ameye.dev note on URP ScriptableRendererFeature and ScriptableRenderPass boilerplate, heavily commented where Unity SRP documentation still feels sparse. The sample applies a two-pass box blur: blit camera color to a temporary buffer, blur vertically then horizontally, with adjustable strength and downsampling.
100% match · <code><shaders><blog><article><free><pass><passes><pipeline> - BruteForceGame
Matthieu Houllier's Brute Force studio blog documenting Crumble, a Unity physics platformer released on Steam in late 2020. Devlogs walk through shipped shaders: shell grass ben
100% match · <shaders><blog><article><camera><demos><depth><form><free> - GPUGems - Chapter 38. Fast Fluid Dynamics Simulation on the GPU
Harris's GPU Gems Chapter 38 explains fast, stable 2D fluid simulation on the GPU.
100% match · <blog><article><demos><free><html><programmers><real><time> - Impossible Geometry: Non-Euclidean Cubes
Alan Zucconi's 2015 Unity post opens his Impossible Geometry series on alanzucconi.com.
100% match · <blog><article><each><free><onto><post><programmers><real> - Part 2, Coloring Light as it passes through Stained Glass
Valerio Marty’s Medium follow-up extends his Unity volumetric light raymarch with stained-glass tinting via nested world-space rays and a custom depth buffer for non-shadow-casting glass. Each lit march step casts toward the sun, stepping through screen-space UVs to read a ScriptableRendererFeature depth pass (R8 linear camera distance).
100% match · <code><shaders><blog><article><free><light><passes><programmers> - second post discussing 3D
BorisTheBrave’s 2018 post is the 3D installment of a marching-cubes series on smooth destructible terrain.
100% match · <blog><article><each><free><grid><post><programmers><real> - Lightweight attention-based indirect illumination
AMD GPUOpen article on a lightweight attention-based neural model for real-time indirect illumination presented at SIGGRAPH 2026.
100% match · <code><shaders><advanced><blog><article><based><buffers><illumination> - A field guide to rendering: from triangles to Gaussians
Long-form field guide by Nikolaos Papadopoulos surveying how 3D scenes become pixels, framed as object-order versus image-order strategies.
100% match · <code><blog><demos><form><interactive><long><pixels><ray> - A silly diffuse shading model
A silly diffuse shading model is a December 2025 post on the lisyarus graphics blog about a one-liner alternative to classic Lambertian diffuse for tech demos and early…
100% match · <shaders><blog><article><demos><form><free><full><html> - An Experimental Approach to printf in HLSL
An Experimental Approach to printf in HLSL is a December 2025 technical post by Chris Bieneman describing a holiday prototype for GPU-side printf in HLSL. It covers GPU string…
100% match · <code><shaders><advanced><blog><article><based><compute><free> - SIGGRAPH 2025 Advances in Real-Time Rendering in Games: Fast as Hell: idTech8 Global Illumination
[video] SIGGRAPH 2025 Advances in Real-Time Rendering in Games: Fast as Hell: idTech8 Global Illumination is a YouTube recording of Tiago Sousa's Advances talk on idTech8 global…
100% match · <code><shaders><advanced><cascaded><free><global><illumination><interactive> - Getting started with BGFX
[video] Getting started with BGFX is a YouTube playlist by Game Coder Nz that walks through the bgfx cross-platform rendering library from a blank project to basic 3D and UI…
100% match · <code><shaders><buffers><depth><each><free><intermediate><programmers> - Realtime Raytracing in Bevy 0.18 (Solari)
Realtime Raytracing in Bevy 0.18 (Solari) is a December 2025 development post by jms55 on quality and performance work for Solari, Bevy's dynamic ray-traced lighting path planned…
100% match · <code><shaders><advanced><blog><article><form><free><html> - No Graphics API
No Graphics API is a December 2025 long-form essay by Sebastian Aaltonen arguing that modern bindless GPUs no longer need the retained-mode complexity of DirectX 12, Vulkan, and…
100% match · <code><advanced><blog><buffer><form><free><html><long>