Unity 6.3
0 онлайн 30 гостей 3 в системе
Вход

ComputeShader.SetKeyword

Declaration

public void SetKeyword(ref Rendering.LocalKeyword keyword, bool value);

Параметры

Параметр Описание
ключевое слово Ключевое слово LocalKeyword для включения или отключения.
значение Требуемое состояние ключевого слова.

Описание

Задаёт состояние локального ключевого слова шейдера для этого вычислительного шейдера.

Ключевые слова шейдера определяют, какие варианты шейдера 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); } } }

Дополнительные ресурсы: Варианты шейдеров и ключевые слова, LocalKeyword, GlobalKeyword, EnableKeyword, DisableKeyword, keywordSpace, IsKeywordEnabled, enabledKeywords, shaderKeywords.