diff options
| author | Valentin Popov <valentin@popov.link> | 2026-10-18 07:59:36 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-10-18 07:59:42 +0300 |
| commit | c8543d7365329fa97d31ac9b0114a1ee9095dd74 (patch) | |
| tree | 3cb6c12749b659b99a6b8a2c6efb68aa79ff4626 /docs | |
| parent | 737e429cb109446ec008c4dcf91d4f04faccd64a (diff) | |
| download | fparkan-c8543d7365329fa97d31ac9b0114a1ee9095dd74.tar.xz fparkan-c8543d7365329fa97d31ac9b0114a1ee9095dd74.zip | |
feat(terrain): build BAS basement foundations
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/tomes/05-render.md | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/docs/tomes/05-render.md b/docs/tomes/05-render.md index b04af31..15fb01a 100644 --- a/docs/tomes/05-render.md +++ b/docs/tomes/05-render.md @@ -955,6 +955,23 @@ for (face, assignment) in mesh.faces.iter().zip(assignments.iter()) { } ``` +Подготовка BAS вынесена в `fparkan-terrain::build_basement_foundations`. +Функция получает внешние и внутренние кольца в порядке размещения, строит +упорядоченные пересечения внешней границы с текущей поверхностью и возвращает +исходные фрагменты рельефа вместе с треугольниками отмостки в одном наборе. +`TerrainWorld::with_basement_foundation` принимает этот набор во владение и +устанавливает те же координаты и маски в BVH высотных запросов и пересечений. +Предпросмотр миссии на Vulkan пока строит только LOD0: связывание BAS-записей +с этой подготовкой ещё не подключено, поэтому наличие API не означает, что +геометрия миссии уже обрезана. + +Внешнее кольцо должно лежать на области LOD0, а каждый его сегмент — оставаться +покрытым текущей поверхностью. Непокрытый сегмент или пересекающиеся контуры +дают ошибку; карта не остаётся частично обрезанной. Первичная нормализация +использует исходные грани и соседей LOD0, последующие пересечения и вырезания — +канонические фрагменты после предыдущих размещений. Соответствие динамических +соседей, создаваемых нативным движком, пока не моделируется. + ## Материалы ландшафта Рядом с `Land.msh` лежат `Land1.wea` и `Land2.wea`. Старший байт |
