2D Grass Rendering with WebGPU Compute Shaders
- Auto-discovered
Jarl Devs Team
Visit resource ↗Description
Jarl Devs Team wrote this post on procedural 2D pixel-art grass for Jarl, a Bevy 0.11 and wgpu Viking colony sim. It includes a live WebGPU demo that runs the same WGSL as the shipped renderer.
Each frame rebuilds grass as an image: grass_generate.wgsl hashes blades from density and wind, rasterizes with atomicMax depth packing, then grass_unpack.wgsl shades winners for compositing with sprites, GI, and fog.
The article explains density and wind inputs, floor masks, PCG hashing, half-res scaling, optimization notes, and credits GPU Gems and Ghost of Tsushima grass work. Full shader sources are at the end.
It suits intermediate programmers who know compute basics and want a WebGPU or wgpu case study for 2D, not a beginner shader tutorial.
The page is a detailed implementation reference with demo and code rather than a widely cited community standard.
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><blog><explains><full><passes><pipeline><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><intermediate><blog><effects><passes><pipeline><programmers> - 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><intermediate><blog><depth><driven><effects><full><grass> - Custom Post Processing in URP / Unity 2021.3 (Febucci)
Federico Bellucci's May 2022 Febucci article covers custom post-processing in Unity URP on Unity 2021.x (URP 12.1.5), when volume-backed custom effects lacked clear docs.
100% match · <code><shaders><intermediate><blog><effects><full><passes><programmers> - Drawing Thousands of Meshes with DrawMeshInstanced / Indirect (Toqoz)
Toqoz's November 2019 toqoz.fyi post walks through drawing very large mesh counts in Unity with Graphics.DrawMeshInstanced and Graphics.DrawMeshInstancedIndirect, with C# samples,
100% match · <code><shaders><blog><compute><depth><frame><gpu><grass> - Grass Geometry Shader (Roystan)
Erik Roystan Ross's Unity Grass Shader Tutorial on roystan.net is a Built-in RP walkthrough, billed at about sixty minutes, that extends a downloadable starter scene in HLSL. A
100% match · <shaders><blog><blades><density><engine><grass><programmers><shader> - Partial Derivatives (ddx, ddy, fwidth) (Ronja)
Ronja’s tutorial 046 demystifies HLSL partial derivatives: ddx and ddy measure how a value changes across 2×2 pixel quads, and fwidth combines them for screen-space-aware filtering. Demonstrates greyscale debug views, then builds an anti-aliased step (aaStep) that widens cutoffs by one pixel’s gradient - reducing jaggy fire, toon bands, and procedural edges versus raw step(). Includes a scrolling noise fire shader comparing step, aaStep, and smoothstep.
100% match · <shaders><intermediate><blog><every><gpu><pixel><programmers><shader> - Roystan
(roystan.net) is a personal Unity blog whose articles index lists long shader tutorials plus shorter gameplay notes from 2018-2019.
100% match · <shaders><intermediate><blog><art><density><depth><driven><engine> - Colored Shadow Penumbra
Colored Shadow Penumbra is a technical blog article by Oscar Sanz. Short Unreal Engine tech-art note on adding colored shadow penumbra by editing deferred lighting shaders for…
100% match · <shaders><intermediate><blog><art><driven><engine><explains><programmers> - How We Draw a 3D Sprite World: The Stylized Art of Never's End
GDC Vault talk by Ryan Juckett (Hypersect) on rendering Never's End as a hand-drawn 2D pixel-art look from fully 3D assets.
100% match · <code><shaders><intermediate><art><engine><fully><pipeline><pixel> - 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 · <code><shaders><blog><compute><engine><frame><gpu><programmers> - Visibility Buffer and Deferred Rendering in DOOM: The Dark Ages
A Graphics Programming Conference talk by id Software engine programmers Philip and Dominic on the opaque geometry pipeline in DOOM: The Dark Ages on idTech 8. They cover why…
100% match · <code><building><compute><density><engine><pipeline><programmers><useful> - Metal Single Pass Downsampler (SPD)
Metal Single Pass Downsampler (SPD) is a February 2026 technical article by Kiriakos Gavras porting AMD FidelityFX SPD to Metal for depth pyramid generation. It explains…
100% match · <code><shaders><blog><atomic><compute><depth><explains><full> - The Art of Render Graphs
The Art of Render Graphs is a February 2026 technical blog post by Ali Elmorsy on designing a Vulkan render graph while building a game engine. It defines a render graph as a…
100% match · <code><intermediate><blog><art><building><engine><passes><programmers> - Inside Mesa 26.0's RADV RT improvements
Inside Mesa 26.0's RADV RT improvements is a January 2026 technical blog post by pixelcluster on Mesa RADV Vulkan ray-tracing work for AMD GPUs. It focuses on RT pipeline…
100% match · <code><shaders><blog><engine><gpu><pipeline><shader><technical> - Simple Terrain Auto Material - Terrain Shaders - Episode 14
Simple Terrain Auto Material - Terrain Shaders - Episode 14 is a Ben Cloward tutorial on building slope-based terrain auto materials in Unity Shader Graph and Unreal. It shows a…
100% match · <shaders><intermediate><building><engine><grass><pixel><shader><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><blog><compute><gpu><packing><shader><technical> - 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><intermediate><building><passes><programmers><shader><technical> - 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><building><depth><engine><frame><programmers><renderer> - Eliminate Slope Stretching - Terrain Shaders - Episode 8
Eliminate Slope Stretching is episode 8 of Ben Cloward's terrain shaders series.
100% match · <shaders><intermediate><art><building><engine><live><shader><technical>