diff options
Diffstat (limited to 'docs/tomes/05-render.md')
| -rw-r--r-- | docs/tomes/05-render.md | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/docs/tomes/05-render.md b/docs/tomes/05-render.md index 6c0524d..50fe0e4 100644 --- a/docs/tomes/05-render.md +++ b/docs/tomes/05-render.md @@ -849,9 +849,12 @@ swapchain resources, создаёт один `vk::Pipeline` на уникаль кэше. При создании swapchain resources renderer выбирает capability-approved depth/stencil format, выделяет device-local attachment, очищает его в render pass и прикрепляет к каждому framebuffer. `TestWrite` включает depth test и -write; `TestReadOnly` включает test без write. Alpha-test пока завершается -явной ошибкой: shader variant ещё не существует, поэтому renderer не должен -молча подменять state. Также не установлен источник значений для Batch20/MAT0: их +write; `TestReadOnly` включает test без write. Alpha test выполняется во +fragment shader: перед каждым draw renderer передаёт через push constant +`alpha_test_reference / 255`, а shader отбрасывает fragment с меньшей alpha. +При выключенном `alpha_test` cutoff принудительно равен нулю; reference остаётся +dynamic material data и не входит в `PipelineKey`. Также не установлен источник +значений для Batch20/MAT0: их поля нельзя объявлять blend/depth/cull mapping без dynamic capture или дополнительного дизассемблирования. Это частично реализованная compatibility boundary, а не заявление о готовой parity fixed-function state. |
