Open 3D Engine Atom Gem API Reference  22.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
AZ::RHI::RenderAttachmentLayout Class Reference

#include <RenderAttachmentLayout.h>

Public Member Functions

 AZ_TYPE_INFO (RenderAttachmentLayout, "{5ED96982-BFB0-4EFF-ABBE-1552CECE707D}")
HashValue64 GetHash () const
bool operator== (const RenderAttachmentLayout &other) const

Static Public Member Functions

static void Reflect (ReflectContext *context)

Public Attributes

uint32_t m_attachmentCount = 0
 Number of total attachments in the list.
AZStd::array< Format, Limits::Pipeline::RenderAttachmentCountMax > m_attachmentFormats = { {} }
 List with all attachments (renderAttachments, resolveAttachments and depth/stencil attachment).
uint32_t m_subpassCount = 0
 Number of subpasses.
AZStd::array< SubpassRenderAttachmentLayout, Limits::Pipeline::SubpassCountMax > m_subpassLayouts
 List with the layout of each subpass.

Detailed Description

A RenderAttachmentLayout consist of a description of one or more subpasses. Each subpass is a collection of render targets, subpass inputs and depth stencil attachments. Each subpass corresponds to a phase in the rendering of a Pipeline. Subpass outputs can be read by other subpasses as inputs. A RenderAttachmentLayout may be implemented by the platform using native functionality, achieving a performance gain for that specific platform. On other platforms, it may be emulated to achieve the same result but without the performance benefits. For example, Vulkan supports the concept of subpass natively.

The documentation for this class was generated from the following file: