aboutsummaryrefslogtreecommitdiff
path: root/docs/tomes
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-10-31 22:13:22 +0300
committerValentin Popov <valentin@popov.link>2026-10-31 22:13:22 +0300
commit853d9b115aa3a7e6790c79c17418e0669d322023 (patch)
tree3dc30d6324ad828f3a4fa358b54487a5895daa42 /docs/tomes
parent8a2c3e98403083987aa6f3b50cadcbc92281164a (diff)
downloadfparkan-853d9b115aa3a7e6790c79c17418e0669d322023.tar.xz
fparkan-853d9b115aa3a7e6790c79c17418e0669d322023.zip
fix(capture): replay the projection used by world geometry
Diffstat (limited to 'docs/tomes')
-rw-r--r--docs/tomes/05-render.md6
1 files changed, 6 insertions, 0 deletions
diff --git a/docs/tomes/05-render.md b/docs/tomes/05-render.md
index 55d3a09..610491b 100644
--- a/docs/tomes/05-render.md
+++ b/docs/tomes/05-render.md
@@ -1009,6 +1009,12 @@ sun-ray queries поэтому используют исходные коордÐ
она не равна одному лишь обратному преобразованию камеры.
В проверенном GOG контексте Ngi32 использовались `n=0.5`, `z=700`, `f=1.3`.
+Ближняя плоскость относится к конкретному проходу. После рисования движок
+может вернуть прежние настройки камеры: захват только в конце мира видел
+`n=5` и при воспроизведении вырезал пол перед игроком. Формат захвата поэтому
+хранит проверенную проекцию вызова геометрии отдельно от состояния камеры;
+подробности приведены в [описании кадра](../reference/render-frame.md#предпросмотр-по-захвату-камеры-d3d7).
+
У GOG `Terrain.dll + 0x7355c` хранит указатель на активную внешнюю камеру.
Её selector 0 возвращает 16 слов начиная с `+0x20`, перенос находится в словах
3, 7, 11. Интерфейс `LoadCamera` расположен отдельно, по `+0x134` объекта.