fix(render): match native packet distance approximation
Docs Deploy / Build and Deploy MkDocs (push) Successful in 1m15s

This commit is contained in:
Valentin Popov committed 2026-11-01 12:30:17 +04:00
1 parent 9533c1a927
commit 923ef2aad6
7 files changed
+188 -40

No files matched your search

+8 -4
View File
@@ -510,8 +510,11 @@ Material manager кэширует разобранный MAT0 и texture handles
Для MSH без потока цветов type 16 правило включает флаг batch `0x0008`.
В обычной ветви при горизонтальном FOV `1.3` поверхность прозрачна до расстояния
75 и непрозрачна после 95; между ними alpha растёт линейно. При другом FOV обе
границы умножаются на `1.3 / FOV`. Расстояние берётся до первой вершины первого
принятого треугольника, а не до центра здания.
границы умножаются на `1.3 / FOV`. Расстояние берётся до первой индексированной
вершины входного пакета, а не до центра здания. Эта точка может находиться за
экраном: видимая часть окна всё равно сохраняет её прозрачность. Если при повороте
камеры выбирать новую видимую точку, окно начнёт менять прозрачность без движения
игрока.
Флаг `0x0010` выбирает другую кривую: сравнивается квадратный корень уже
вычисленного расстояния, границы равны `2.6 / FOV` и `7.7999997 / FOV`.
@@ -521,8 +524,9 @@ Material manager кэширует разобранный MAT0 и texture handles
FParkan пересчитывает эту alpha при каждом обновлении камеры, после анимации
модели. Нулевое значение временно выключает диапазон индексов; при удалении
камеры диапазон восстанавливается. Подробности оригинального вычисления и
пока приближённого выбора вершины приведены в [описании кадра](../reference/render-frame.md#прозрачность-порталов-msh).
камеры диапазон восстанавливается. Расстояние использует тот же приближённый
обратный корень, что и оригинал: округление влияет на записанную alpha.
Подробности вычисления приведены в [описании кадра](../reference/render-frame.md#прозрачность-порталов-msh).
## Texm: текстуры, mip-уровни и атласы