feat(fx): evaluate native generator mesh modes
Docs Deploy / Build and Deploy MkDocs (push) Successful in 42s

This commit is contained in:
Valentin Popov committed 2026-10-18 08:31:52 +04:00
1 parent 0c6e7589f9
commit dda322d8be
3 files changed
+1448

No files matched your search

File diff suppressed because it is too large. Load diff
+1
View File
@@ -8,6 +8,7 @@
pub mod atmosphere; pub mod atmosphere;
pub mod environment; pub mod environment;
pub mod fx_visual;
pub mod shadow; pub mod shadow;
pub mod sky; pub mod sky;
+19
View File
@@ -236,6 +236,25 @@ Native `z = 0.999` не означает, что спрайт гарантиро
native значение сохраняется для совместимости, но само по себе не обещает native значение сохраняется для совместимости, но само по себе не обещает
окклюзию солнца всей геометрией местности. окклюзию солнца всей геометрией местности.
## Геометрия визуальных FX-команд
`fparkan-fx::fx_visual` формирует кадры для двух подтверждённых вариантов
`f_gener_ball`. Op4 принимает mode 0 с положительным знаменателем в `body+0xC4`
и выдаёт camera-facing quad; расстояние камеры считается через native
component-wise projection родительской матрицы. Op9 принимает mode 2:
селектор `body+0xC4` со значением 0, 1 или 2 отображается в native flag base
3, 5 или 6 и выбирает одну из трёх сеток; категория render flags выбирает её
детализацию. `body+0xC8` выбирает UV path:
нулевое значение проецирует позицию вершины на XY, ненулевое использует
фиксированные координаты quad и cap. Кадр сохраняет MAT0 resource, фазу,
opacity, вершины и triangle indices для renderer.
Evaluator получает готовые command body, phase, camera point и внешнюю
матрицу. Выбор Control row, manager gates, owner attachment, header jitter и
global RNG остаются задачей владельца. `fparkan-game` пока использует для Op9
категорию 0 с наибольшей детализацией; выбор категории по projected size ещё
не реализован.
## Что остаётся за владельцем ## Что остаётся за владельцем
`EnvironmentSystem` не извлекает камеру из renderer, не разрешает материалы `EnvironmentSystem` не извлекает камеру из renderer, не разрешает материалы