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

1.6 KiB
Raw Blame History

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 прохода для ландшафта).