GPU Tracing Participating Media
- Auto-discovered
Alex Tardif
Visit resource ↗Description
Personal technical article by Alex Tardif with an HLSL path-tracer implementation of participating media ideas from Physically Based Rendering, framed as a simpler companion for translating the book into GPU code.
It covers homogenous and heterogenous volumes with absorption, scattering, density, and emission in RGB, global illumination without next event estimation yet, linked HLSL source, and render examples. Pitfalls include wo/wi conventions, delta-tracking limits, volume enter/exit bounce counting, and null scattering cost.
For intermediate-to-advanced programmers adding volumetric path tracing who find PBRT volume chapters hard to map into a lean HLSL tracer. Assumes an existing path tracer.
Free webpage with overview, source links, render gallery, and implementation pitfalls.
Useful as a bridge from PBRT volume chapters to a working GPU media integrator with warnings that catch common darkening mistakes.
Related resources
- 5 ways to draw an outline (Alexander Ameye)
Five Ways to Draw an Outline is Alexander Ameye's 2021 note (alexanderameye.github.io / ameye.dev).
100% match · <shaders><blog><article><book><free><linked><programmers><render> - 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><examples><free><gpu><linked><programmers> - Alexander Ameye
's blog at ameye.dev (alexanderameye.github.io) is a static Eleventy site documenting Unity graphics engineering experiments. Sixteen indexed notes explain URP scriptable render passes, Shader Graph stylized water, realtime caustics, cavity and halftone effects, hemisphere sampling, holographic cards, and several outline methods.
100% match · <shaders><blog><article><free><linked><personal><programmers><technical> - Believable Caustics Reflections (Alan Zucconi)
Believable Caustics Reflections is Alan Zucconi's September 2019 Unity blog post on faking pool-style ripple caustics without ray tracing, sparked by Florian Gelzenleuchter's popular shader GIF. One tileable texture is sampled twice in a Surface shader at different scales and scroll speeds, combined with min(), then tinted onto albedo with slight RGB UV offsets for dispersion. The walkthrough covers _ST tiling, _Time animation, HDR albedo above 1.0, and Post Processing Stack v2 bloom.
100% match · <shaders><blog><article><free><linked><programmers><rgb><technical> - 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><covers><free><linked> - 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><linked><programmers><render> - 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><free><global><intermediate><linked><render> - Colored Outline Shader (Linden Reid)
Colored Outline Shader in Unity is Lindsey Reid's February 2018 lindenreidblog.com tutorial, third in her outline posts.
100% match · <shaders><blog><article><based><common><find><free><linked> - 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><book><free><gpu><linked><programmers><technical> - 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><linked><programmers><technical> - Physically Based Values for CG Artists
Rows cover metals, dielectrics, organics, and fluids with sRGB swatches and numeric F0/reflectance fields suited to Substance, Blender, or engine neutral workflows.
100% match · <blog><article><based><free><linked><physically><programmers><technical> - Shader Viewer (Built-in RP) (Xibanya)
Xibanya's Unity Shader Viewer is a free browser utility for reading Unity Built-in Render Pipeline shaders and includes with syntax coloring and links to definitions.
100% match · <shaders><blog><article><free><linked><links><programmers><technical> - Shader Viewer (URP) (Xibanya)
Xibanya's URP Shader Viewer is a free browser utility for Universal Render Pipeline shaders and HLSL includes, with syntax coloring and definition links.
100% match · <shaders><blog><article><free><linked><links><programmers><technical> - 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><covers><free> - Early-bird deadline for the Shading Languages Symposium 2026
Early-bird deadline for the Shading Languages Symposium 2026 points to the Khronos Group page for the in-person symposium held 12-13 February 2026 in San Diego, right after…
100% match · <code><shaders><companion><covers><event><linked><programmers><technical> - 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><free><global><illumination><path><tracing> - 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><free><ideas><intermediate> - Secrets of Direct3D 12: The Behavior of ClearUnorderedAccessViewUint/Float
Secrets of Direct3D 12: The Behavior of ClearUnorderedAccessViewUint/Float is a December 2025 deep dive by Adam Sawicki on how ID3D12GraphicsCommandList clear-UAV helpers fill…
100% match · <code><advanced><blog><article><covers><free><gpu><limits> - Around The World, Part 28: Scaling up
This is part 28 of Thomas ten Cate's Around The World development blog about an early-stage sea exploration game in Godot.
100% match · <code><blog><article><based><covers><free><intermediate><simpler> - Sample Space Partitioning and Spatiotemporal Resampling for Specular Manifold Sampling
Sample Space Partitioning and Spatiotemporal Resampling for Specular Manifold Sampling presents a Utah Graphics Lab method by Pengpei Hong, Meng Duan, Beibei Wang, Cem Yuksel,…
100% match · <code><advanced><based><covers><free><path><tracing><useful>