mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2026-01-04 10:09:56 +03:00
223 lines
12 KiB
ReStructuredText
223 lines
12 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_Shader:
|
||
|
||
Shader
|
||
======
|
||
|
||
**Успадковує:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
|
||
|
||
**Успадковано від:** :ref:`VisualShader<class_VisualShader>`
|
||
|
||
Шейдер, який реалізується в Словенії Godot.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Опис
|
||
--------
|
||
|
||
Замовний шейдер-програма, що реалізується в мові Godot, збереженій з розширенням ``.gdshader``.
|
||
|
||
Цей клас використовується :ref:`ShaderMaterial<class_ShaderMaterial>` і дозволяє написати свою власну індивідуальну поведінку для надання візуальних елементів або оновлення інформації про часток. Для детального пояснення та використання, будь ласка, див. підручники, пов'язані нижче.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Посібники
|
||
------------------
|
||
|
||
- :doc:`Індекс документації шейдерів <../tutorials/shaders/index>`
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Властивості
|
||
----------------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+-----------------------------+-----------------------------------------+--------+
|
||
| :ref:`String<class_String>` | :ref:`code<class_Shader_property_code>` | ``""`` |
|
||
+-----------------------------+-----------------------------------------+--------+
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Методи
|
||
------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Texture<class_Texture>` | :ref:`get_default_texture_parameter<class_Shader_method_get_default_texture_parameter>`\ (\ name\: :ref:`StringName<class_StringName>`, index\: :ref:`int<class_int>` = 0\ ) |const| |
|
||
+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Mode<enum_Shader_Mode>` | :ref:`get_mode<class_Shader_method_get_mode>`\ (\ ) |const| |
|
||
+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Array<class_Array>` | :ref:`get_shader_uniform_list<class_Shader_method_get_shader_uniform_list>`\ (\ get_groups\: :ref:`bool<class_bool>` = false\ ) |
|
||
+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`inspect_native_shader_code<class_Shader_method_inspect_native_shader_code>`\ (\ ) |
|
||
+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_default_texture_parameter<class_Shader_method_set_default_texture_parameter>`\ (\ name\: :ref:`StringName<class_StringName>`, texture\: :ref:`Texture<class_Texture>`, index\: :ref:`int<class_int>` = 0\ ) |
|
||
+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Переліки
|
||
----------------
|
||
|
||
.. _enum_Shader_Mode:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **Mode**: :ref:`🔗<enum_Shader_Mode>`
|
||
|
||
.. _class_Shader_constant_MODE_SPATIAL:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`Mode<enum_Shader_Mode>` **MODE_SPATIAL** = ``0``
|
||
|
||
Режим використовується для малювання всіх об'єктів 3D.
|
||
|
||
.. _class_Shader_constant_MODE_CANVAS_ITEM:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`Mode<enum_Shader_Mode>` **MODE_CANVAS_ITEM** = ``1``
|
||
|
||
Режим використовується для малювання всіх об'єктів 2D.
|
||
|
||
.. _class_Shader_constant_MODE_PARTICLES:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`Mode<enum_Shader_Mode>` **MODE_PARTICLES** = ``2``
|
||
|
||
Режим, що використовується для розрахунку інформації про частоки на основі частинок. Не використовується для малювання.
|
||
|
||
.. _class_Shader_constant_MODE_SKY:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`Mode<enum_Shader_Mode>` **MODE_SKY** = ``3``
|
||
|
||
Режим використовується для малювання лиж. Тільки роботи з відтінками, прикріпленими до об'єктів :ref:`Sky<class_Sky>`.
|
||
|
||
.. _class_Shader_constant_MODE_FOG:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`Mode<enum_Shader_Mode>` **MODE_FOG** = ``4``
|
||
|
||
Режим, що використовується для встановлення кольору і щільності об'ємної фольги.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описи властивостей
|
||
------------------------------------
|
||
|
||
.. _class_Shader_property_code:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`String<class_String>` **code** = ``""`` :ref:`🔗<class_Shader_property_code>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_code**\ (\ value\: :ref:`String<class_String>`\ )
|
||
- :ref:`String<class_String>` **get_code**\ (\ )
|
||
|
||
Повертає код шейдера, як користувач письмовий, не повністю сформований код, який використовується внутрішньо.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описи методів
|
||
--------------------------
|
||
|
||
.. _class_Shader_method_get_default_texture_parameter:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Texture<class_Texture>` **get_default_texture_parameter**\ (\ name\: :ref:`StringName<class_StringName>`, index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_Shader_method_get_default_texture_parameter>`
|
||
|
||
Повертає фактуру, яка встановлюється як за замовчуванням для вказаного параметра.
|
||
|
||
\ **Note:** ``прізвище`` повинна відповідати назві в коді точно.
|
||
|
||
\ **Примітка:** Якщо масив зразка використовується ``index`` для доступу до зазначеної текстури.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Shader_method_get_mode:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Mode<enum_Shader_Mode>` **get_mode**\ (\ ) |const| :ref:`🔗<class_Shader_method_get_mode>`
|
||
|
||
Повертає режим шейкера.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Shader_method_get_shader_uniform_list:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Array<class_Array>` **get_shader_uniform_list**\ (\ get_groups\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_Shader_method_get_shader_uniform_list>`
|
||
|
||
Повертає список форм шейдерів, які можна призначити :ref:`ShaderMaterial<class_ShaderMaterial>`, для використання з :ref:`ShaderMaterial.set_shader_parameter()<class_ShaderMaterial_method_set_shader_parameter>` і :ref:`ShaderMaterial.get_shader_parameter()<class_ShaderMaterial_method_get_shader_parameter>`. Повернуті параметри містяться в словниках у форматі, подібному до тих, які повертає :ref:`Object.get_property_list()<class_Object_method_get_property_list>`.
|
||
|
||
Якщо аргумент ``get_groups`` має значення ``true``, підказки щодо групування параметрів також включено до списку.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Shader_method_inspect_native_shader_code:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **inspect_native_shader_code**\ (\ ) :ref:`🔗<class_Shader_method_inspect_native_shader_code>`
|
||
|
||
Доступно лише під час роботи в редакторі. Відкриває спливаюче вікно, яке візуалізує згенерований код шейдера, включаючи всі варіанти та внутрішній код шейдера. Дивіться також :ref:`Material.inspect_native_shader_code()<class_Material_method_inspect_native_shader_code>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Shader_method_set_default_texture_parameter:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_default_texture_parameter**\ (\ name\: :ref:`StringName<class_StringName>`, texture\: :ref:`Texture<class_Texture>`, index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_Shader_method_set_default_texture_parameter>`
|
||
|
||
Встановлює текстуру за замовчуванням, яка використовується з фактурою. За замовчуванням використовується, якщо текстура не встановлена в :ref:`ShaderMaterial<class_ShaderMaterial>`.
|
||
|
||
\ **Примітка:** ``прізвище`` повинна відповідати назві в коді точно.
|
||
|
||
\ **Примітка:** Якщо масив зразка використовується ``index`` для доступу до зазначеної текстури.
|
||
|
||
.. |virtual| replace:: :abbr:`virtual (Зазвичай, цей метод перевизначається користувачем, щоб він мав вплив.)`
|
||
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
|
||
.. |const| replace:: :abbr:`const (Цей метод не має побічних ефектів. Не змінює ніяку змінну екземпляра об'єкта.)`
|
||
.. |vararg| replace:: :abbr:`vararg (Цей метод приймає будь-яке число аргументів після описаних тут.)`
|
||
.. |constructor| replace:: :abbr:`constructor (Цей метод використовується для побудови типів.)`
|
||
.. |static| replace:: :abbr:`static (Цей метод не потребує екземпляра для виклику, його можна викликати безпосередньо за допомогою назви класу.)`
|
||
.. |operator| replace:: :abbr:`operator (Цей метод описує дійсний оператор для взаємодії з цим типом як з лівим операндом.)`
|
||
.. |bitfield| replace:: :abbr:`BitField (Це значення є цілим числом, складеним у вигляді бітової маски з наступних прапорів.)`
|
||
.. |void| replace:: :abbr:`void (Значення не повертається.)`
|