diff options
Diffstat (limited to 'docs/tomes/05-render.md')
| -rw-r--r-- | docs/tomes/05-render.md | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/docs/tomes/05-render.md b/docs/tomes/05-render.md index c1563fc..cfd352a 100644 --- a/docs/tomes/05-render.md +++ b/docs/tomes/05-render.md @@ -1144,6 +1144,16 @@ lightmap state передаются в `VulkanStaticMaterial`, а shader посÐ получается ключ Vulkan pipeline. Alpha reference передаётся отдельно через push constant; он не требует нового pipeline. +Набор pipelines создаётся до первого draw. Для каждого исходного состояния +готовятся его авторский вариант, прозрачный вариант с сохранённым alpha-test +и пять категорий MAT0 с обеими политиками глубины. Cull и decal bias остаются +исходными; одинаковые ключи объединяются. Смена категории материала или +прозрачности диапазона выбирает готовый ключ, сохраняя descriptors, buffers и +framebuffers. Vulkan `VkPipelineCache` принадлежит renderer, используется всеми +созданиями pipelines и переживает пересоздание swapchain. На диск он пока не +сохраняется. Счётчик `render_pipeline_cache` показывает число созданных +pipelines, включая новые наборы после resize. + Рабочий путь `fparkan-game` загружает terrain и все выбранные mission roots (по умолчанию весь список объектов), разрешая локальные material slots через WEAR и MAT0 до объединения геометрии. Индексы GPU имеют тип `u32`: вся карта @@ -1171,8 +1181,8 @@ FX и окружение обновляют следующие вершины, Ð Перед записью общих ресурсов renderer ждёт fences всех отправленных кадров. Одного fence текущего кадрового слота недостаточно: другой кадр ещё может -читать ту же память. Ожидание всего устройства пока остаётся на пересоздании -swapchain и набора pipelines, диагностическом readback и завершении работы. Загрузка изменённых +читать ту же память. Ожидание всего устройства остаётся на пересоздании +swapchain, диагностическом readback и завершении работы. Загрузка изменённых текстур пока использует отдельную синхронную transfer-команду. Строка `render_geometry_upload` показывает записанные vertex/index bytes и объём, который потребовался бы при полной перезаливке, без начальной загрузки. |
