Files
godot-docs-l10n/classes/uk/class_shader.rst

223 lines
12 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

: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 (Значення не повертається.)`