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

+7 -3
View File
@@ -854,9 +854,13 @@ emit не должен повторно менять игровое состоя
gate. Type 4 point list задаёт локальную матрицу; текущие MSH owner и mounted
node poses входят в transform до локальной FX basis. Реализованные visuals
охватывают Op3 modes 0–2, Op4, Op7/8 particle pools и Op9 generated mesh. Op1
selector 1 добавляет point lights без native flag `0x80000000` в общий diffuse
список; остальные active records сохраняют flags для специальных путей и
projected shadows. Радиус источника масштабируется длиной его преобразованного
selector 1 добавляет point lights в освещение. Native flag `0x80000000`
ограничивает источник собственным объектом: такая лампа освещает завод, но
не рельеф вокруг него. Это не запрет на обычный расчёт света. Потеря локального
жёлтого источника над трубой делала крышу завода заметно холоднее оригинала.
Renderer сопоставляет владельца лампы и диапазона MSH; общие источники
доступны всем поверхностям. Исходные flags сохраняются также для projected
shadows. Радиус источника масштабируется длиной его преобразованного
направления до нормализации. Например, локальный радиус 7 при масштабе узла
около 4,85 освещает область радиусом около 34. Потеря этого множителя оставляла
синий свет завода почти незаметным. Неположительный итог заменяется на 0,01.