aboutsummaryrefslogtreecommitdiff
path: root/docs/reference/render-frame.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/reference/render-frame.md')
-rw-r--r--docs/reference/render-frame.md17
1 files changed, 17 insertions, 0 deletions
diff --git a/docs/reference/render-frame.md b/docs/reference/render-frame.md
index b3c0be5..4ee0cc3 100644
--- a/docs/reference/render-frame.md
+++ b/docs/reference/render-frame.md
@@ -404,3 +404,20 @@ D3D7 в `fparkan-render`, а затем один раз меняет знак в
GPU может содержать результат смешивания поверхностей; повторное применение
его к готовому цвету затемнило бы кадр ещё раз. Поэтому конвертер и сборщик
сравнительных пар игнорируют эту альфу, а raw-файл сохраняют без изменений.
+
+### Вода внутри отражённого вида
+
+В эталонных DLL из [таблицы сборки](original-binaries.md) Terrain RVA
+`0x28A50` задаёт водному пакету material alpha `0,1` и packet category `4`,
+когда уже строится отражение. Живой CShade-захват подтверждает одинаковые
+водные вершины при `eye_z=115` и `185`, высоте воды `150`: отражённые пакеты
+имеют alpha `0,1`, основные — `1`. Это общий проход водных граней,
+а не поправка цвета карты.
+
+Ngi32 mode 7, descriptors RVA `0x36C14` / `0x36C40`, содержит одну текстурную
+стадию: `COLOR = TEXTURE × DIFFUSE`, `ALPHA = DIFFUSE`. Packet category 4
+в таблице RVA `0x346E0 + category × 40` включает SRCALPHA / INVSRCALPHA
+и альфа-тест GREATEREQUAL. Это отдельная таблица от MAT0 categories.
+Depth enable/write передаются из байтов пакета `+0x12C/+0x12D` отдельно;
+в захваченном водном проходе оба равны `1`. Начальные ZFUNC=LESSEQUAL,
+ALPHAREF=1 задаются конструктором Ngi32; категория их не меняет.