Tasty Grass Shader Cover

Tasty Grass Shader

Tasty Grass Shader is a general-purpose procedural grass, flowers and clutter framework. Leveraging modern graphics techniques such as Compute Shaders and Indirect Draw, it is very efficient at rendering hundreds of thousands of blades, often under one millisecond on a modern mid-range GPU.

Features

  • Carefully-crafted grass and clutter rendering system:
    • Scriptable Object-based settings system.
    • Multiple templates for grass and wind included.
    • Separated baking and rendering pass for maximum runtime performance.
  • Powerful procedural generation system:
    • Up to four customizable layers of randomness via textures.
    • Use any grayscale texture to control height, offset, bending, thickness, thickness apex and color.
    • Multiple 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 for maximum visual fidelity.
  • Beautiful wind system:
    • Simple and effective procedural wind system.
    • Tweakable speed, strength and tiling.
  • Collision system:
    • Use sphere colliders to make objects interact with the grass.
  • Support for any Unity Mesh (experimental):
    • 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.
  • Hack-friendly source code:
    • Tasty Grass can be used without Unity components.
    • Endpoints for custom terrain soloutions included.
    • All important functions are exposed.
  • 3D (Forward and Deferred) and VR (Single-Pass Instanced and Multipass) are fully supported.

Futher Notes

Requirements

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

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.