Believable Caustics Reflections (Alan Zucconi)
Alan Zucconi
Visit resource ↗Description
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. Readers should know basic surface shaders; fluid simulation is not used.
The tutorial is free on alanzucconi.com; Patreon tiers add a Unity 2019.2 package. It suits intermediate artists after introductory shader reading.
Often shared in graphics forums as a compact real-time caustics recipe alongside Gelzenleuchter's original demo.
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><effect><free><online> - 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><effect><free><online> - 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><create><cyanilux><different><effect> - 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><effect><free><online> - 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><one><online><paywall> - 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><different><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><create><cyanilux><effect><free> - 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><creating><cyanilux><effect><free> - Gentle Introduction to Realtime Fluid Simulation for Programmers and Technical Artists (Shahriar Shahrabi)
Shahriar Shahrabi's October 2021 Medium tutorial explains real-time grid fluid simulation for programmers and technical artists with geometric intuition rather than dense Navier-Stokes notation.
100% match · <blog><access><article><artists><crawl><cyanilux><free><gist> - see here for slides
Gilbert Sanders, Principal Artist at Guerrilla Games, gave this GDC 2018 Visual Arts session on vegetation in Horizon Zero Dawn.
100% match · <intermediate><artists><crawl><cyanilux><gist><http><linked><one> - Slang: Bridging Graphics and Machine Learning
Slang: Bridging Graphics and Machine Learning is a recorded talk by Shannon Woods, presented at High-Performance Graphics (HPG). HPG talk by Shannon Woods (NVIDIA / Khronos…
100% match · <shaders><intermediate><free><programmers><real><texture><time><using> - Smooth-Maximum, the most useful function
Smooth-Maximum, the most useful function is a free YouTube video on the Inigo Quilez channel. Inigo Quilez video deriving smooth maximum functions from algebraic rewrites of…
100% match · <shaders><intermediate><access><blend><free><friendly><programmers><related> - 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><developer><free><one><post> - Why does ASTC use ISE when almost nothing else does?
Why does ASTC use ISE when almost nothing else does? is a technical blog article by Fabian Giesen. Technical blog explaining ASTC integer sequence encoding (trits and quints)…
100% match · <blog><article><free><one><post><programmers><technical><texture> - Announcing AgilitySDK 721 Preview and an addition to LinAlg in Shader Model 6.10
Announcing AgilitySDK 721 Preview and an addition to LinAlg in Shader Model 6.10 is a technical blog article by Amar Patel. DirectX Developer Blog announcing Agility SDK…
100% match · <shaders><intermediate><blog><add><article><developer><free><one> - Partial Graphics Programs
Partial Graphics Programs is a technical blog article by Nada Ouf. DirectX Developer Blog detailing Partial Graphics Programs in Agility SDK 1.721-preview: split pipeline…
100% match · <shaders><blog><article><blend><developer><free><one><post> - Floor and Ceil Versus Denormals on CPU and GPU
Floor and Ceil Versus Denormals on CPU and GPU is a technical blog article by Adam Sawicki. Blog examining how floor and ceil behave on subnormal floats when platforms preserve…
100% match · <shaders><blog><article><free><one><point><post><programmers> - 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><one><post><programmers> - Triangle Tessellation with Clamped Parallelograms
Triangle Tessellation with Clamped Parallelograms is a technical blog article by John Hable. John Hable derives a compute-friendly triangle tessellation algorithm using clamped…
100% match · <blog><article><free><friendly><one><post><programmers><technical> - Writing a bindless GPU abstraction layer
Writing a bindless GPU abstraction layer is a technical blog article by Kevin Gibson. Blog post by Kevin Gibson describing Loon GPU, an experimental bindless C++ GPU abstraction…
100% match · <blog><article><free><one><post><programmers><shaders><technical>