<?xml version="1.0" encoding="UTF-8" ?>
<class name="RDFramebufferPass" inherits="RefCounted" api_type="core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		Framebuffer pass attachment description (used by [RenderingDevice]).
	</brief_description>
	<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 [RenderingDevice].
	</description>
	<tutorials>
	</tutorials>
	<members>
		<member name="color_attachments" type="PackedInt32Array" setter="set_color_attachments" getter="get_color_attachments" default="PackedInt32Array()">
			Color attachments in order starting from 0. If this attachment is not used by the shader, pass ATTACHMENT_UNUSED to skip.
		</member>
		<member name="depth_attachment" type="int" setter="set_depth_attachment" getter="get_depth_attachment" default="-1">
			Depth attachment. ATTACHMENT_UNUSED should be used if no depth buffer is required for this pass.
		</member>
		<member name="input_attachments" type="PackedInt32Array" setter="set_input_attachments" getter="get_input_attachments" default="PackedInt32Array()">
			Used for multipass framebuffers (more than one render pass). Converts an attachment to an input. Make sure to also supply it properly in the [RDUniform] for the uniform set.
		</member>
		<member name="preserve_attachments" type="PackedInt32Array" setter="set_preserve_attachments" getter="get_preserve_attachments" default="PackedInt32Array()">
			Attachments to preserve in this pass (otherwise they are erased).
		</member>
		<member name="resolve_attachments" type="PackedInt32Array" setter="set_resolve_attachments" getter="get_resolve_attachments" default="PackedInt32Array()">
			If the color attachments are multisampled, non-multisampled resolve attachments can be provided.
		</member>
	</members>
	<constants>
		<constant name="ATTACHMENT_UNUSED" value="-1">
			Attachment is unused.
		</constant>
	</constants>
</class>
