Shader

Наследует: Resource < RefCounted < Object

Наследуется от: VisualShader

Шейдер, реализованный на языке шейдеров Godot.

Описание

Пользовательская программа шейдера, реализованная на языке шейдеров Godot, сохраненная с расширением .gdshader.

Этот класс используется ShaderMaterial и позволяет вам писать собственное пользовательское поведение для рендеринга визуальных элементов или обновления информации о частицах. Подробное объяснение и использование см. в руководствах, ссылки на которые приведены ниже.

Обучающие материалы

Свойства

String

code

""

Методы

Texture

get_default_texture_parameter(name: StringName, index: int = 0) const

Mode

get_mode() const

Array

get_shader_uniform_list(get_groups: bool = false)

void

inspect_native_shader_code()

void

set_default_texture_parameter(name: StringName, texture: Texture, index: int = 0)


Перечисления

enum Mode: 🔗

Mode MODE_SPATIAL = 0

Режим, используемый для отрисовки всех 3D-объектов.

Mode MODE_CANVAS_ITEM = 1

Режим, используемый для рисования всех 2D-объектов.

Mode MODE_PARTICLES = 2

Режим, используемый для расчета информации о частицах на основе каждой частицы. Не используется для рисования.

Mode MODE_SKY = 3

Режим, используемый для рисования неба. Работает только с шейдерами, прикрепленными к объектам Sky.

Mode MODE_FOG = 4

Режим, используемый для настройки цвета и плотности эффекта объемного тумана.


Описания свойств

String code = "" 🔗

Возвращает код шейдера в том виде, в котором его написал пользователь, а не полный сгенерированный код, используемый внутри.


Описания метода

Texture get_default_texture_parameter(name: StringName, index: int = 0) const 🔗

Возвращает текстуру, которая установлена по умолчанию для указанного параметра.

Примечание: name должно точно соответствовать имени униформы в коде.

Примечание: Если используется массив сэмплера, используйте index для доступа к указанной текстуре.


Mode get_mode() const 🔗

Возвращает режим шейдера для шейдера.


Array get_shader_uniform_list(get_groups: bool = false) 🔗

Возвращает список шейдерных униформ, которые могут быть назначены ShaderMaterial, для использования с ShaderMaterial.set_shader_parameter() и ShaderMaterial.get_shader_parameter(). Возвращаемые параметры содержатся в словарях в формате, аналогичном возвращаемым Object.get_property_list().

Если аргумент get_groups равен true, подсказки по группировке параметров также включаются в список.


void inspect_native_shader_code() 🔗

Доступно только при запуске в редакторе. Открывает всплывающее окно, визуализирующее сгенерированный код шейдера, включая все варианты и внутренний код шейдера. См. также Material.inspect_native_shader_code().


void set_default_texture_parameter(name: StringName, texture: Texture, index: int = 0) 🔗

Устанавливает текстуру по умолчанию для использования с униформой текстуры. По умолчанию используется текстура, если в ShaderMaterial не задана текстура.

Примечание: name должно точно соответствовать имени униформы текстуры в коде.

Примечание: Если используется массив сэмплера, используйте index для доступа к указанной текстуре.