render3d: the GPU blades grow by a painted density (a layer of the ground densities, grass_density_layer) where a map has one - a 5x5-tile window round the camera in a storage buffer the cull samples - and by today's rules where not; grass_rule_at is the rules on the CPU for the migration

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-29 21:14:22 +03:00
parent e6f4685bd0
commit 9186abbbe3
10 changed files with 219 additions and 21 deletions

View file

@ -856,6 +856,11 @@ export state Render3dState {
gd_slot_of: words = null
gd_hand: int = 0
gd_trample_cb: fn(float, float) -> float = null
gb_layer: int = -1 # the densities' layer the blades grow by; -1: the rules (grass_density.ludic)
gb_buf: int = 0 # its window round the camera, on the GPU
gb_win: words = null # ... and the window's bytes, four texels a word, made once
gb_tx: int = -1000000 # the window's first texel in the map, x and z (-1000000: not filled)
gb_tz: int = 0
tt_dir: string = "" # terrain_tiles_to: where a map's tiles are written ("" keeps the whole copies)
tt_key: string = ""
tt_file: pointer = null # the tiles' file, open for reading (terrain_tiles.ludic)