Files
godot-docs/classes/class_rdframebufferpass.rst
2023-05-19 13:35:34 +00:00

161 lines
6.6 KiB
ReStructuredText

:github_url: hide
.. DO NOT EDIT THIS FILE!!!
.. Generated automatically from Godot engine sources.
.. Generator: https://github.com/godotengine/godot/tree/4.0/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/4.0/doc/classes/RDFramebufferPass.xml.
.. _class_RDFramebufferPass:
RDFramebufferPass
=================
**Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Framebuffer pass attachment description (used by :ref:`RenderingDevice<class_RenderingDevice>`).
.. rst-class:: classref-introduction-group
Description
-----------
This class contains the list of attachment descriptions for a framebuffer pass. Each points with an index to a previously supplied list of texture attachments.
Multipass framebuffers can optimize some configurations in mobile. On desktop, they provide little to no advantage.
This object is used by :ref:`RenderingDevice<class_RenderingDevice>`.
.. rst-class:: classref-reftable-group
Properties
----------
.. table::
:widths: auto
+-------------------------------------------------+------------------------------------------------------------------------------------+------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`color_attachments<class_RDFramebufferPass_property_color_attachments>` | ``PackedInt32Array()`` |
+-------------------------------------------------+------------------------------------------------------------------------------------+------------------------+
| :ref:`int<class_int>` | :ref:`depth_attachment<class_RDFramebufferPass_property_depth_attachment>` | ``-1`` |
+-------------------------------------------------+------------------------------------------------------------------------------------+------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`input_attachments<class_RDFramebufferPass_property_input_attachments>` | ``PackedInt32Array()`` |
+-------------------------------------------------+------------------------------------------------------------------------------------+------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`preserve_attachments<class_RDFramebufferPass_property_preserve_attachments>` | ``PackedInt32Array()`` |
+-------------------------------------------------+------------------------------------------------------------------------------------+------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`resolve_attachments<class_RDFramebufferPass_property_resolve_attachments>` | ``PackedInt32Array()`` |
+-------------------------------------------------+------------------------------------------------------------------------------------+------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Constants
---------
.. _class_RDFramebufferPass_constant_ATTACHMENT_UNUSED:
.. rst-class:: classref-constant
**ATTACHMENT_UNUSED** = ``-1``
Attachment is unused.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Property Descriptions
---------------------
.. _class_RDFramebufferPass_property_color_attachments:
.. rst-class:: classref-property
:ref:`PackedInt32Array<class_PackedInt32Array>` **color_attachments** = ``PackedInt32Array()``
.. rst-class:: classref-property-setget
- void **set_color_attachments** **(** :ref:`PackedInt32Array<class_PackedInt32Array>` value **)**
- :ref:`PackedInt32Array<class_PackedInt32Array>` **get_color_attachments** **(** **)**
Color attachments in order starting from 0. If this attachment is not used by the shader, pass ATTACHMENT_UNUSED to skip.
.. rst-class:: classref-item-separator
----
.. _class_RDFramebufferPass_property_depth_attachment:
.. rst-class:: classref-property
:ref:`int<class_int>` **depth_attachment** = ``-1``
.. rst-class:: classref-property-setget
- void **set_depth_attachment** **(** :ref:`int<class_int>` value **)**
- :ref:`int<class_int>` **get_depth_attachment** **(** **)**
Depth attachment. ATTACHMENT_UNUSED should be used if no depth buffer is required for this pass.
.. rst-class:: classref-item-separator
----
.. _class_RDFramebufferPass_property_input_attachments:
.. rst-class:: classref-property
:ref:`PackedInt32Array<class_PackedInt32Array>` **input_attachments** = ``PackedInt32Array()``
.. rst-class:: classref-property-setget
- void **set_input_attachments** **(** :ref:`PackedInt32Array<class_PackedInt32Array>` value **)**
- :ref:`PackedInt32Array<class_PackedInt32Array>` **get_input_attachments** **(** **)**
Used for multipass framebuffers (more than one render pass). Converts an attachment to an input. Make sure to also supply it properly in the :ref:`RDUniform<class_RDUniform>` for the uniform set.
.. rst-class:: classref-item-separator
----
.. _class_RDFramebufferPass_property_preserve_attachments:
.. rst-class:: classref-property
:ref:`PackedInt32Array<class_PackedInt32Array>` **preserve_attachments** = ``PackedInt32Array()``
.. rst-class:: classref-property-setget
- void **set_preserve_attachments** **(** :ref:`PackedInt32Array<class_PackedInt32Array>` value **)**
- :ref:`PackedInt32Array<class_PackedInt32Array>` **get_preserve_attachments** **(** **)**
Attachments to preserve in this pass (otherwise they are erased).
.. rst-class:: classref-item-separator
----
.. _class_RDFramebufferPass_property_resolve_attachments:
.. rst-class:: classref-property
:ref:`PackedInt32Array<class_PackedInt32Array>` **resolve_attachments** = ``PackedInt32Array()``
.. rst-class:: classref-property-setget
- void **set_resolve_attachments** **(** :ref:`PackedInt32Array<class_PackedInt32Array>` value **)**
- :ref:`PackedInt32Array<class_PackedInt32Array>` **get_resolve_attachments** **(** **)**
If the color attachments are multisampled, non-multisampled resolve attachments can be provided.
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`