VULKAN / GPU GEOMETRY

Vulkan Grass
System

A GPU-driven grass renderer built from Bézier blades, compute-based motion, visibility tests and level-of-detail selection.

Vulkan · C++ · GLSLCompute · Tessellation · Culling
Animated Vulkan grass field
01 · BLADE CONSTRUCTION

A curve,
not a card.

Each blade is described by Bézier control points. Tessellation expands that compact curve into a camera-facing ribbon, preserving a readable silhouette from the root through the bent tip.

Grass blade model and control points
Bézier blade construction
Grass blade distribution demo
Instanced blade distribution
02 · MOTION

Wind on
the GPU.

A compute pass updates blade orientation before tessellation. Layered wind fields bend the control points while the root remains planted, keeping motion coherent without making the field uniform.

Animated grass responding to wind
Compute-driven wind deformation
03 · VISIBILITY & DETAIL

Spend geometry
where it matters.

Frustum and orientation tests remove blades that cannot contribute to the frame. Distance-based detail selection changes the generated blade shape before rasterization, keeping the dense field visually stable.

Animated grass frustum culling
Frustum visibility
Animated grass level of detail
Distance-based detail selection
01

Seed

Distributes compact blade descriptors across the terrain.

02

Simulate

Updates control points through compute-driven wind motion.

03

Select

Culls invisible instances and chooses an appropriate detail form.

04

Tessellate

Turns each surviving curve into renderable blade geometry.

Responsive Vulkan grass system with wind simulation and GPU culling

GPU GRASS SYSTEM

VULKAN · COMPUTE SHADERS · TESSELLATION

A responsive real-time grass renderer built from Bézier blades. Compute shaders simulate wind and recovery forces while orientation, frustum and distance culling plus adaptive LOD keep more than half a million blades interactive.