GrassFieldSurface owns the renderable mesh for every blade of grass. The
geometry is updated on the CPU each frame so that the same scene can run on
both the WebGPU renderer and the automatic WebGL fallback without needing a
custom shader language branch for each backend.
GrassFieldSurface owns the renderable mesh for every blade of grass. The geometry is updated on the CPU each frame so that the same scene can run on both the WebGPU renderer and the automatic WebGL fallback without needing a custom shader language branch for each backend.