Open 3D Engine Atom Gem API Reference  2205.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 | Protected Member Functions | Friends | List of all members
AZ::RHI::ScopeAttachment Class Reference

#include <ScopeAttachment.h>

Inherited by AZ::RHI::BufferScopeAttachment, and AZ::RHI::ImageScopeAttachment.

Public Member Functions

 AZ_RTTI (ScopeAttachment, "{6BB50E92-5A15-4C50-8717-F7B05AB98BD9}")
 
 ScopeAttachment (Scope &scope, FrameAttachment &attachment, ScopeAttachmentUsage usage, ScopeAttachmentAccess access)
 
bool HasUsage (const ScopeAttachmentUsage usage) const
 Returns true if usage is compatible with how this scopeattachment will be used.
 
bool HasAccessAndUsage (const ScopeAttachmentUsage usage, const ScopeAttachmentAccess access) const
 Returns true if access is compatible with how this scopeattachment will be accessed.
 
const AZStd::vector< ScopeAttachmentUsageAndAccess > & GetUsageAndAccess () const
 Returns a vector containing all usage/access data used by this scopeattachment.
 
const ResourceViewGetResourceView () const
 Returns the resource view.
 
const ScopeGetScope () const
 Returns the parent scope that this attachment is bound to.
 
ScopeGetScope ()
 
const FrameAttachmentGetFrameAttachment () const
 Returns the parent frame graph attachment.
 
FrameAttachmentGetFrameAttachment ()
 
const ScopeAttachmentGetPrevious () const
 Returns the previous binding in the linked list.
 
ScopeAttachmentGetPrevious ()
 
const ScopeAttachmentGetNext () const
 Returns the next binding in the linked list.
 
ScopeAttachmentGetNext ()
 
const char * GetTypeName (const RHI::ScopeAttachmentUsageAndAccess &usageAndAccess) const
 Returns the friendly usage and access type names of this scope attachment (used for logging).
 
AZStd::string GetUsageTypes () const
 
AZStd::string GetAccessTypes () const
 
void AddUsageAndAccess (ScopeAttachmentUsage usage, ScopeAttachmentAccess access)
 Add how the attachment is used by the scope and how it is accessed by the scope.
 
bool IsSwapChainAttachment () const
 Returns true if this is a SwapChainFrameAttachment.
 

Protected Member Functions

void SetResourceView (ConstPtr< ResourceView > resourceView)
 Assigns the resource view to this scope attachment.
 

Friends

class FrameGraphAttachmentDatabase
 

Detailed Description

A ScopeAttachment is created when a FrameAttachment is "attached" to a specific scope. A single FrameAttachment exists for a given AttachemntId, but many ScopeAttachments can exist as "children" of a FrameAttachment. More precisely, ScopeAttachment forms a linked list, where the first node is the first "usage" on the first scope, and the last node the last usage on the last scope. FrameAttachment references the head and tail of this linked list.

The FrameAttachment owns the Attachment instance (i.e. the actual resource). The ScopeAttachment owns a view into that resource. A scope is able to utilize the view during compilation and execution.


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