Документация
Docs/ru/reference/effect-format/render-state.md
Состояние рендеринга эффекта
Сгенерированный справочник. Не редактируйте его напрямую. Обновите
BuildTools/EffectFormatInterface.json, затем выполнитеpython BuildTools/docs_effect_format.py --write.
| Индекс | Синтаксис | Состояние рендеринга | Ресурсы | Запекание | Runtime | Проверка | Канонический JSON | Руководство |
| Стабильный ID | Ключ | По умолчанию | Допустимые значения | Поведение | Источник |
|---|---|---|---|---|---|
effect-format.option.version |
Version |
310 |
целое число, заданное проектом | Version разбирается как целое число и выводится в форме ‘#version <Version> es’ для входа glslang. | Source/Tools/EffectBaker.cpp |
effect-format.option.passes |
Passes |
1 |
целое число, заданное проектом | Passes должен находиться во включительном диапазоне 1..EFFECT_MAX_PASSES. Индексы проходов в именах секций и суффиксах состояния начинаются с единицы. | Source/Frontend/Rendering.cpp |
effect-format.option.shadow-pass |
ShadowPass |
-1 |
целое число, заданное проектом | ShadowPass равен -1 при отсутствии теневого прохода либо содержит начинающийся с единицы индекс в диапазоне 1..EFFECT_MAX_PASSES. Он помечает этот проход как теневой проход модели. | Source/Frontend/Rendering.cpp |
effect-format.option.blend-func |
BlendFunc or BlendFunc_PassN |
SrcAlpha InvSrcAlpha |
Zero, One, SrcColor, InvSrcColor, DstColor, InvDstColor, SrcAlpha, InvSrcAlpha, DstAlpha, InvDstAlpha, ConstantColor, InvConstantColor, SrcAlphaSaturate |
Значение содержит ровно два допустимых токена: сначала исходный фактор, затем целевой. При отсутствии ключа конкретного прохода наследуется значение ключа без суффикса. | Source/Frontend/Rendering.cpp |
effect-format.option.blend-equation |
BlendEquation or BlendEquation_PassN |
FuncAdd |
FuncAdd, FuncSubtract, FuncReverseSubtract, Max, Min |
Значение выбирает одно допустимое уравнение смешивания. При отсутствии ключа конкретного прохода наследуется значение ключа без суффикса. | Source/Frontend/Rendering.cpp |
effect-format.option.depth-write |
DepthWrite or DepthWrite_PassN |
True |
True, False |
Значение разбирается как boolean и задаёт состояние записи глубины по умолчанию для QuadSprite и Model, когда активная цель имеет depth attachment. Вызов отрисовки может выбрать другое состояние только при включённом DepthVariants. | Source/Frontend/Rendering.cpp, Source/Frontend/Rendering-SDLGpu.cpp |
effect-format.option.depth-func |
DepthFunc or DepthFunc_PassN |
Always |
Always, Never, Less, LessEqual, Equal, GreaterEqual, Greater, NotEqual |
Значение выбирает одно допустимое сравнение глубины. При отсутствии ключа конкретного прохода наследуется значение ключа без суффикса. | Source/Frontend/Rendering.cpp |
effect-format.option.depth-variants |
DepthVariants |
False |
True, False |
Включайте только тогда, когда вызывающий код должен выбирать проверку и запись глубины для каждого вызова отрисовки. Рендерер создаёт все четыре комбинации test/write; иначе существует только состояние, объявленное DepthWrite и DepthFunc. | Source/Frontend/Rendering.cpp, Source/Frontend/Rendering.h |
effect-format.option.cull-variants |
CullVariants |
False |
True, False |
Включайте только тогда, когда вызывающий код должен выбирать режим отсечения граней None, Back или Front для каждого вызова отрисовки. Без него эффект принимает только режим None по умолчанию. | Source/Frontend/Rendering.cpp, Source/Frontend/Rendering.h |
effect-format.option.pass-overrides |
<Key>_PassN |
inherit unsuffixed key |
целое число, заданное проектом | BlendFunc, BlendEquation, DepthWrite и DepthFunc поддерживают точный суффикс _PassN с индексом от единицы. В секциях шейдеров перед PassN вместо этого ставится пробел. | Source/Frontend/Rendering.cpp, Source/Tools/EffectBaker.cpp |
Ключи конкретных проходов используют точный суффикс _PassN и при отсутствии наследуют значение ключа без суффикса.