Shader.SetGlobalTexture
Declaration
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 | Имя ID свойства, полученного Shader.PropertyToID. |
| имя | Название свойства. |
| значение | Текстура для установки. |
| элемент | Необязательный параметр, который определяет тип данных, которые должны быть установлены из RenderTexture. |
Описание
Задает глобальное свойство текстуры для всех шейдеров.
Глобальные свойства используются, если они нужны шейдеру, но не определены в материале (например, если шейдер не экспонирует их в Properties блок).
Обычно это используется, если у вас есть набор пользовательских шейдеров, все из которых используют одну и ту же "глобальную" текстуру (например, пользовательская карта кубика с диффузным освещением). Тогда вы можете установить глобальное свойство из скрипта и не нужно настраивать одну и ту же текстуру во всех материалах.
Указав `RenderTextureSubElement`, вы можете указать, какой тип данных устанавливается из RenderTexture. Возможны следующие варианты: RenderTextureSubElement.Color, RenderTextureSubElement.Depth, и RenderTextureSubElement.Stencil.
Дополнительные ресурсы: SetGlobalColor, SetGlobalFloat; Material class, Документация по ShaderLab, RenderTextureSubElement.