diff options
| author | Valentin Popov <valentin@popov.link> | 2026-02-12 00:12:05 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-02-12 00:12:05 +0300 |
| commit | 041b1a6cb3159463fe81f4b2d18cb968d6f3fd87 (patch) | |
| tree | f7190906dbd235d8d97c0ac664c40014005d7b90 /docs/specs/terrain-map-loading.md | |
| parent | 5035d022206bf9ace54a43b4d65abe0b9fc0f361 (diff) | |
| download | fparkan-041b1a6cb3159463fe81f4b2d18cb968d6f3fd87.tar.xz fparkan-041b1a6cb3159463fe81f4b2d18cb968d6f3fd87.zip | |
Добавлены спецификации для сетевой подсистемы, системы звука, загрузки ландшафта, интерфейса пользователя и пайплайна выполнения. Обновлен файл навигации mkdocs.yml для включения новых документов.
Diffstat (limited to 'docs/specs/terrain-map-loading.md')
| -rw-r--r-- | docs/specs/terrain-map-loading.md | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/docs/specs/terrain-map-loading.md b/docs/specs/terrain-map-loading.md new file mode 100644 index 0000000..0fb6e1f --- /dev/null +++ b/docs/specs/terrain-map-loading.md @@ -0,0 +1,32 @@ +# Terrain + map loading + +Документ описывает подсистему ландшафта и привязку terrain-данных к миру. + +--- + +## 4.1. Обзор + +`Terrain.dll` отвечает за рендер ландшафта (terrain), включая: + +- Рендер мешей ландшафта (`"Rendered meshes"`, `"Rendered primitives"`, `"Rendered faces"`). +- Рендер частиц (`"Rendered particles/batches"`). +- Создание текстур (`"CTexture::CTexture()"` — конструктор текстуры). +- Микротекстуры (`"Unable to find microtexture mapping"`). + +## 4.2. Текстуры ландшафта + +В Terrain.dll присутствует конструктор текстуры `CTexture::CTexture()` со следующими проверками: + +- Валидация размера текстуры (`"Unsupported texture size"`). +- Создание D3D‑текстуры (`"Unable to create texture"`). + +Ландшафт использует **микротекстуры** (micro‑texture mapping chunks) — маленькие повторяющиеся текстуры, тайлящиеся по поверхности. + +## 4.3. Защита от пустых примитивов + +Terrain.dll содержит проверки: + +- `"Rendering empty primitive!"` — перед первым вызовом отрисовки. +- `"Rendering empty primitive2!"` — перед вторым вызовом отрисовки. + +Это подтверждает многопроходный рендер (как минимум 2 прохода для ландшафта). |
