Three.js Grassworks
Do you know a Resource we should add?Submit a new Resource!

Three.js Grassworks

A complete grass system for Three.js and WebGPU, built for dense environments with terrain-aware placement, dynamic movement, and scalable detail.

Author:

Muhammad Bilal Khan

Author Website:
https://x.com/Bk23544

Video

Three.js Marketplace

Three.js Marketplace

Kickstart your Three.js and React Three Fiber (R3F) projects with our free and premium components themes and tools. Designed for freelancers, developers, and agencies, each product includes essential features to get you up and running quickly.

Web Development

Help with your project?

Custom Three.js, WebGL, and WebGPU development — from product visualizers to interactive 3D websites.

Links

Featured Badge

Add this badge to your website to show you are featured on Three.js Resources.

Light Version

Description

Three.js Grassworks is a complete grass rendering system for Three.js and WebGPU, built for creating large, dense grass environments with control over appearance, coverage, movement, interaction, and performance.

Grassworks uses a camera-relative tiled system to extend grass across expansive environments while keeping rendering focused around the visible area. It supports both detailed blade-based grass and lightweight billboard grass, with configurable LODs for controlling geometry and density at different distances.

Features

  • Infinite Grass — Extend grass across large environments using a camera-relative tiled system without requiring a single massive grass mesh.

  • Performance Optimized — Render dense grass with distance-based visibility, optimized geometry, and configurable levels of detail.

  • 12 Presets — Quickly create different grass styles using presets inspired by real-world species and stylized environments.

  • Blade & Billboard Grass — Choose between detailed geometry for close-up grass or lightweight billboards for larger areas.

  • Terrain Aware — Automatically adapt grass to terrain slopes, elevation changes, and uneven surfaces.

  • Natural Wind — Add procedural movement with controls for wind direction, intensity, noise scale, and simulation speed.

  • Grass Interaction — Let grass react to characters, vehicles, and other objects moving through the environment.

  • Grass Maps — Control grass coverage, density, and height across your terrain, including custom paths and clearings.

  • Terrain Painter — Paint and erase grass directly on your terrain to create custom Grass Maps within your Three.js scene.

  • Four LOD Levels — Configure four levels of detail with control over density and geometric complexity at different distances.

  • WebGPU & TSL — Built around Three.js WebGPU and TSL for modern GPU-based rendering.

Grassworks is designed for Three.js developers building games, interactive environments, simulations, architectural experiences, and large outdoor scenes that require dense real-time grass without giving up control over visual quality and performance.

Sponsors

Want to write shaders yourself?

Learn TSL — the Three.js Shading Language — step by step in our interactive shader course, with live code you edit in the browser.

Start the TSL Course