A project in Unity based on Daniel Ilett's grass rendering techniques. This project is made for exploring modern grass and foliage rendering techniques using Unity3D Game Engine.
This is an aside project which I decided to do in order to extend one of my Computer Graphics Masters Degree's assigments. On this assignment I have to implement a custom grass shader with Unity shaders, using geometry and tessellation shaders. Instead I will implement that shader and try to implement an alternative version using compute shaders.
Additionally I've managed to explore a little more about Unity Terrains and use them for generating a mesh that can be used by a compute shader. Using the terrain data and sampling the terrain's height, I can displace the vertices of a mesh where the glass blades will be rendered.
Main features to implement:
- Implement Geometry and Tessellation Shaders
- Implement Procedural Rendering and Compute Shaders
- Season based grass coloring (Selectable from UI)
- Season based particles
- Exploring Unity Terrains for grass rendering
Optional features:
- Season synchronizing with date
- White noise on gameplay
- Grass Tiles
- Geometry/Tessellation Grass
- Procedural Compute Grass
- Unity Terrains Grass
- Billboarding
Six Grass Rendering Techniques in Unity by Daniel Ilett
Roystan Grass Shader (the skeleton of the assignment)
An astounishing grass shader made by Staggart Creations
Grass Rendering in OpenGL // Code Review - An interesting review made by TheCherno
Unity Shaders Bible (a must when doing shaders in Unity)
A necessary post when dealing with URP custom shaders by Steven Cannavan
Unity Tutorial for falling leaves using Unity's Particle System




