ludic/changes/render3d-blade-density.md

783 B

bump: minor type: feature ludic.render3d: the GPU blades grow where a painted density says. grass_density_layer(l) names a layer of the ground densities (ground_density_open: the same 2 m texel, 64 m tiles, bake and dev fallback) as the blades'; grass_cull.comp then keeps a blade by that density, bilinear, where it used to apply its rules (the slope, the water's margin, the snow line, the photograph). Without one, nothing changes. The cull reads a window of 5 x 5 density tiles round the camera (160^2 bytes, a host-visible storage buffer, re-filled from the CPU tile cache when the camera crosses a 64 m tile), never the whole map. grass_rule_at(x, z) is the rules on the CPU, for a migration that paints them; grass_density_texels() the side a density PNG has.