Объявление
public static void SetGlobalTexture(string name, Texture value);public static void SetGlobalTexture(int nameID, Texture value);
public static void SetGlobalTexture(string name, RenderTexture value, Rendering.RenderTextureSubElement element);
public static void SetGlobalTexture(int nameID, RenderTexture value, Rendering.RenderTextureSubElement element);
Параметры
nameID | Идентификатор имени свойства, полученный с помощью Shader.PropertyToID. |
name | Название свойства. |
value | Текстура для установки. |
element | Необязательный параметр, указывающий тип данных, которые нужно задать из RenderTexture. |
Описание
Задает глобальное свойство текстуры для всех шейдеров.
Глобальные свойства используются, если они нужны шейдеру, но для материала они не определены (например, если шейдер не предоставляет их в блоке Properties
).
Обычно это используется, если у вас есть набор пользовательских шейдеров, использующих одну и ту же "глобальную" текстуру (например, пользовательскую кубическую карту рассеянного освещения). Затем вы можете установить глобальное свойство из скрипта, и вам не нужно настраивать одну и ту же текстуру для всех материалов.
Указав `RenderTextureSubElement`, вы можете указать, какой тип данных следует установить из RenderTexture. Возможные варианты: RenderTextureSubElement.Color, RenderTextureSubElement.Depth и RenderTextureSubElement.Stencil.
Смотрите так же: SetGlobalColor, SetGlobalFloat; Material class, ShaderLab documentation, RenderTextureSubElement.