feat(vulkan): add alpha test shader path
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user