Files
fparkan/docs/specs/terrain-map-loading.md

33 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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"`).
Ландшафт использует **микротекстуры** (microtexture mapping chunks) — маленькие повторяющиеся текстуры, тайлящиеся по поверхности.
## 4.3. Защита от пустых примитивов
Terrain.dll содержит проверки:
- `"Rendering empty primitive!"` — перед первым вызовом отрисовки.
- `"Rendering empty primitive2!"` — перед вторым вызовом отрисовки.
Это подтверждает многопроходный рендер (как минимум 2 прохода для ландшафта).