Fast Subsurface Scattering (John Austin, May 2020)
John Austin, May 2020
Visit resource ↗Description
John Austin's May 2020 johnaustin.io post adds subsurface scattering to Unity's Universal Render Pipeline for a soft Oculus Quest VR look under tight mobile fill-rate limits.
Instead of deferred light-buffer blur, he uses forward wrapped diffuse from a Journal of Graphics Tools paper, with Valve-style wrapping, normalization, and a custom HLSL LightingSubsurface pass. Lit parameters control subsurface color, radius, and scatter fraction, blended with standard URP PBR.
For intermediate graphics programmers and technical artists editing vendored URP source. The sample uses one directional sun without subsurface shadow attenuation.
Free single article with formulas, Blender comparisons, screenshots, code, and a GitHub branch.
A Quest performance case study often shared in Unity shader lists; cites Alan Zucconi for translucency through thin geometry.
Related resources
- 2D Water Shader Breakdown (Cyanilux)
A Shader Graph breakdown of stylized 2D water in Unity URP: sprite reflections via a second camera, scrolling noise distortion, fake highlights, and tilemap shoreline ripples for pixel art.
100% match · <shaders><intermediate><blog><catalog><cyanilux><free><online><paywall> - Book (w/ Turnable Pages) Breakdown (Cyanilux)
Cyanilux breakdown of a URP spellbook with vertex-shader page turns, flipbook page textures, dual Lit Graphs, pooling C# driver, and optional Blender setup notes.
100% match · <shaders><intermediate><blog><catalog><cyanilux><free><online><paywall> - Cloud Shader Breakdown (Cyanilux)
Cyanilux Shader Graph tutorial for URP that builds animated cloud decks on a subdivided plane with layered world-space noise, vertex displacement, and depth-based fading at intersections.
100% match · <shaders><intermediate><blog><catalog><cyanilux><free><game><online> - Crystal Shader Breakdown (Cyanilux)
A Cyanilux Shader Graph walkthrough for Unity URP that builds an unlit transparent crystal with object-space Y colour gradients, camera opaque-texture refraction, Fresnel opacity, and HDR glow for bloom.
100% match · <shaders><intermediate><blog><catalog><cyanilux><free><online><paywall> - 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 · <shaders><blog><catalog><cyanilux><free><online><paywall><pipeline> - 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 · <shaders><blog><catalog><cyanilux><everything><free><online><paywall> - Dissolve Shader Breakdown (Cyanilux)
URP Shader Graph breakdown by Cyanilux on dissolve effects: Step and noise clip fragments with glowing edges, height-axis variants, and view-space UVs to reduce seam artifacts.
100% match · <shaders><intermediate><blog><catalog><cyanilux><free><online><paywall> - Fire/Flame Shader Breakdown (Cyanilux)
Shader Graph breakdown of billboard fire on a quad: scrolling noise warps UVs for a flame texture or procedurally generated ellipse shapes, with per-instance randomization.
100% match · <shaders><intermediate><blog><catalog><cyanilux><free><online><paywall> - New AMD Radeon Developer Tool Suite update brings shader source code, Extended PIX Markers, and command-line capture
New AMD Radeon Developer Tool Suite update brings shader source code, Extended PIX Markers, and command-line capture is a technical blog article by Chris Hesik. AMD GPUOpen…
100% match · <shaders><intermediate><blog><article><free><programmers><related><source> - On Rendering the Sky, Sunsets, and Planets
On Rendering the Sky, Sunsets, and Planets is a technical blog article by Maxime Heckel. Maxime Heckel write-up on implementing atmospheric scattering in the browser for…
100% match · <shaders><intermediate><blog><article><free><programmers><real><render> - Quantizing tangent frames
Quantizing tangent frames is a technical blog article by Arseny Kapoulkine. Blog post by Arseny Kapoulkine comparing compact encodings for orthonormal tangent frames, including…
100% match · <blog><article><free><ive><pipeline><programmers><source><technical> - Modern rendering culling techniques
Modern rendering culling techniques is a technical blog article by Nikita Krupitskas. Technical blog post by Nikita Krupitskas surveying culling techniques used in modern…
100% match · <intermediate><blog><article><free><open><pipelines><programmers><real> - Custom SRP 6.2.0 3D Color LUT
Custom SRP 6.2.0 3D Color LUT is a technical blog article by Jasper Flick. Catlike Coding Custom SRP tutorial that upgrades the color-grading LUT from a simulated 2D strip to a…
100% match · <shaders><blog><article><free><programmers><real><render><source> - Specialization Constants // Vulkan For Beginners #29
Specialization Constants // Vulkan For Beginners #29 is a free YouTube video on the OGLDEV channel, an installment in the Vulkan For Beginners tutorial series. OGLDEV Vulkan For…
100% match · <shaders><access><free><lighting><pipeline><pipelines><programmers><source> - Lighting | Unity Shader Code Basics 06
Lighting | Unity Shader Code Basics 06 is a free YouTube video on the Daniel Ilett channel, an episode in the Unity Shader Code Basics series. Unity Shader Code Basics episode…
100% match · <shaders><access><free><lighting><programmers><source><style><hlsl> - Behind the Pretty Frames: PRAGMATA
Behind the Pretty Frames: PRAGMATA is a technical blog article by Muhammad. GPU-capture frame breakdown of Capcom PRAGMATA on RE Engine under D3D12, tracing the render graph…
100% match · <shaders><blog><article><console><free><lighting><pipelines><programmers> - The Future of Path Tracing | Best Practices, Optimizations & Future Standards
The Future of Path Tracing | Best Practices, Optimizations & Future Standards is a recorded talk published on the NVIDIA developer channel channel. NVIDIA GDC 2026 talk on…
100% match · <free><game><lighting><programmers><real><source><style><time> - 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 · <shaders><intermediate><access><artists><linked><materials><programmers><related> - MeshSplatting: Differentiable Rendering with Opaque Meshes
MeshSplatting: Differentiable Rendering with Opaque Meshes presents a mesh-based novel view synthesis method by Jan Held and collaborators that jointly optimizes geometry and…
100% match · <access><free><game><must><pipelines><programmers><project><standard> - Lighting mannequin
Lighting Mannequin is an October 2025 production blog post by Peter Strahle on lighting workflows for the Quest 2 multiplayer VR title Mannequin. It covers readable path…
100% match · <blog><article><artists><fast><free><lighting><materials><quest>