diff options
Diffstat (limited to 'docs/reference/render-frame.md')
| -rw-r--r-- | docs/reference/render-frame.md | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/docs/reference/render-frame.md b/docs/reference/render-frame.md index ebe3971..8bd548f 100644 --- a/docs/reference/render-frame.md +++ b/docs/reference/render-frame.md @@ -126,6 +126,23 @@ RVA `0xF6E0`, преобразует направление текущей маÑ число таких Control-команд как `control_op1_jitter_unsupported` и использует их авторские значения. У синего источника в проверенном захвате добавки нулевые. +Флаг источника `0x80000000` отделяет локальный свет объекта от общего света +мира. В эталонной `Terrain.dll` (SHA-256 +`af87d1b2e728a0be73c52be3b44cc196ab46da7799f25a15d40f8c9b0b425ead`) +`CLightManager` RVA `0x4C1D0` ведёт отдельные числа всех активных и общих +источников; второй счётчик исключает этот бит. Живой вход `CShade` RVA +`0x2E4A0` подтверждает различие: завод получает жёлтый источник с flags +`0xA0000000`, а рельеф — только общие источники. Для выбранной вершины крыши +native diffuse `1,205386/1,095748/1,893271` и specular после переноса переполнения +`0,160597/0,147096/0,358346` воспроизводятся формулой shader с теми же входами +с отклонением менее `0,0002`. Менять формулу блика для этого дефекта не нужно. + +В Vulkan каждый свет хранит `owner_scope` в последнем DWORD 48-байтовой +SSBO-записи; область диапазона передаётся через `firstInstance`. Нулевая +область света доступна всем диапазонам, ненулевая — только совпадающему +владельцу. Terrain и геометрия без владельца имеют область ноль. Один общий +буфер сохраняется; отдельные наборы света для каждого строения не создаются. + ## Элемент отрисовки Подготовленный элемент отрисовки содержит: |
