Параметры
keyword | Ключевое слово LocalKeyword для включения или отключения. |
value | Желаемое состояние ключевого слова. |
Описание
Задает состояние ключевого слова локального шейдера для этого вычислительного шейдера.
Ключевые слова шейдера определяют, какие варианты шейдера использует Unity. Информацию о работе с ключевыми словами локального шейдера и глобальном ключевом слове шейдера и о том, как они взаимодействуют, см. в разделе Использование ключевых слов шейдера со сценариями C#.
Когда value
равно true
, эта функция вызывает EnableKeyword . В противном случае вызывается DisableKeyword.
Если LocalKeyword не существует в keywordSpace, эта функция не действует.
В следующем примере переключается состояние всех ключевых слов локального шейдера в вычислительном шейдере.
using UnityEngine;
using UnityEngine.Rendering;
public class Example : MonoBehaviour
{
public ComputeShader computeShader;
void Start()
{
// Get all the local keywords that affect the Compute Shader
var keywordSpace = computeShader.keywordSpace;
// Iterate over the local keywords
foreach (var localKeyword in keywordSpace.keywords)
{
// Get the current state of the local keyword
bool state = computeShader.IsKeywordEnabled(localKeyword);
// Toggle the state
computeShader.SetKeyword(localKeyword, !state);
}
}
}
Смотрите так же: Shader variants and keywords, LocalKeyword, GlobalKeyword, EnableKeyword, DisableKeyword, keywordSpace, IsKeywordEnabled, enabledKeywords, shaderKeywords.