Tasty Grass Shader Cover

Tasty Grass Shader

Tasty Grass Shader is a general-purpose procedural grass, flowers and debris framework. Leveraging modern graphics techniques such as Compute Shaders and Indirect Draw, it’s very efficient at rendering hundreds of thousands of blades!

Features

Powerful procedural generation

  • Scriptable Object-based settings system
  • Use any grayscale texture to control the distribution of parameters, such as: height, angle, bending, thickness, and color of grass blades
  • Up to four customizable layers of variation
  • Several ready-to-use noise textures included.

Effective Level-Of-Detail and Quality system

  • Control the density over distance via template settings and graphics quality settings.
  • Optional use of Alpha-Clipping for finer grass blade shapes.
  • Support for Multi-Sampling Anti-Aliasing (MSAA) and Alpha-To-Coverage in URP Forward.

Wind and collision system

  • Use sphere colliders to make objects interact with the grass
  • Simple and effective procedural wind
  • Tweakable wind speed, strength and patterns

Support for any Unity Mesh

  • Height controllable via vertex color.
  • No Read/Write flag required.
  • Vertex colors from DCC assets supported.
  • Vertex colors from Polybrush supported.

Support for Unity Terrain

  • Grass can be assigned to entire terrain or to a single Texture Layer.
  • Built-in chunk system for optimal runtime performance on large terrains.
  • Slope cutoff control.

Hack-friendly source code

  • Tasty Grass can be used without Unity components.
  • Endpoints for custom terrain solutions included.
  • All important functions are exposed.

Supports 3D (Forward and Deferred) and VR (Single-Pass Instanced and Multipass)

Requirements

  • Unity 2021.3+
  • URP 12.1+
  • Support for DirectX 11, Metal or Vulkan. (Compute Shader and Draw Indirect support required)

Further Notes

Support & Contact

If you encounter any issues or have questions, we are happy to help via Discord | GitHub | Email

Roadmap & Feature Requests

Please refer to our GitHub issues page.