n x n samples of chunk (i, j) of a size_m grid from the terrain's corner, row-major into the caller's buffer with nothing allocated, each the (1 4 1) / 6 B-spline filter of the texels under it (ter_spline_at): what ludic.physics' jph_shape_heightfield_bspline makes of the whole map, so a chunk's physics ground matches the drawn one and its neighbours' to the bit. The read-back lives for the whole map (terrain_generate to terrain_unload). examples/rendering/chunks.ludic, in the suite, checks the shared edges, a sample against the filter by hand, and a short buffer refused. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
10 lines
722 B
Markdown
10 lines
722 B
Markdown
bump: minor
|
|
type: feature
|
|
**The ground's heights a chunk at a time: `terrain_chunk_heights(i, j, size_m, n, out)`.** For
|
|
whatever is built per chunk (plan 23.5 of maroon-lake: the physics ground by 64 m chunks): n x n
|
|
samples of chunk (i, j) of a grid laid from the terrain's corner, row-major into the caller's
|
|
buffer, nothing allocated. Each is the ground's cubic B-spline at the texel under it - the
|
|
separable (1 4 1) / 6 filter `ter_spline_at`, the same numbers ludic.physics' B-spline
|
|
heightfield makes of the whole map - so neighbouring chunks share their edges bit for bit and
|
|
agree with the drawn ground. The read-back lives from `terrain_generate` to `terrain_unload`.
|
|
`examples/rendering/chunks.ludic` holds it.
|