fix(render): preserve object-local point lights on models
Docs Deploy / Build and Deploy MkDocs (push) Successful in 38s

This commit is contained in:
Valentin Popov committed 2026-11-01 13:40:12 +04:00
1 parent 315afff220
commit e8942caa23
14 files changed
+136 -30

No files matched your search

+6 -3
View File
@@ -350,9 +350,12 @@ Renderer preview поддерживает FXID-команды Op3 modes 0–2, O
Op3 mode0 строит camera-facing поверхность из анимируемых локальных позиции и
масштаба; Op7/Op8 обновляют отдельные элементы particle pool; Op9 создаёт
индексированную полусферическую сетку. Op1 вычисляется отдельно как список
point lights: selector 1 и записи без `flags & 0x80000000` входят в общий
diffuse light set. Записи с этим битом сохраняют native flags для специальных
путей и projected shadows, но не добавляются в общий diffuse список.
point lights: selector 1 без `flags & 0x80000000` освещает мир, а с этим битом —
собственное строение или юнит. Локальный источник нельзя удалять из освещения
MSH вместе с исключением из общего списка рельефа. Preview сохраняет исходные
flags для projected shadows и передаёт в renderer область действия корневого
объекта. Область ноль означает общий свет; у локального источника и диапазонов
его модели одинаковый ненулевой идентификатор.
Body discriminator Op3 читается из первого DWORD `FxCommand.raw_body`; offsets
в evaluator-е относительны к данным после четырёхбайтового command word. Mode 1