Open 3D Engine Atom Gem API Reference  23.05.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::RHI::Buffer Class Reference

#include <Buffer.h>

Inherits AZ::RHI::Resource.

Inherited by AZ::DX12::Buffer, AZ::Metal::Buffer, AZ::Null::Buffer, and AZ::Vulkan::Buffer.

Public Member Functions

 AZ_RTTI (Buffer,"{3C918323-F39C-4DC6-BEE9-BC220DBA9414}", Resource)
 
const BufferDescriptorGetDescriptor () const
 
void ReportMemoryUsage (MemoryStatisticsBuilder &builder) const override
 
const BufferFrameAttachmentGetFrameAttachment () const
 Returns the buffer frame attachment if the buffer is currently attached.
 
Ptr< BufferViewGetBufferView (const BufferViewDescriptor &bufferViewDescriptor)
 
const HashValue64 GetHash () const
 
- Public Member Functions inherited from AZ::RHI::Resource
 AZ_RTTI (Resource,"{9D02CDAC-80EB-4B77-8E62-849AC6E69206}", DeviceObject)
 
bool IsAttachment () const
 Returns whether the resource is currently an attachment on a frame graph.
 
void Shutdown () overridefinal
 Shuts down the buffer by detaching it from its parent pool.
 
const ResourcePoolGetPool () const
 
ResourcePoolGetPool ()
 
uint32_t GetVersion () const
 
const FrameAttachmentGetFrameAttachment () const
 Returns the frame attachment associated with this image (if it exists).
 
void InvalidateViews ()
 
bool IsInResourceCache (const ImageViewDescriptor &imageViewDescriptor)
 Returns true if the ResourceView is in the cache.
 
bool IsInResourceCache (const BufferViewDescriptor &bufferViewDescriptor)
 
void EraseResourceView (ResourceView *resourceView) const
 Removes the provided ResourceView from the cache.
 
- Public Member Functions inherited from AZ::RHI::DeviceObject
 AZ_RTTI (DeviceObject,"{17D34F71-944C-4AF5-9823-627474C4C0A6}", Object)
 
bool IsInitialized () const
 Returns whether the device object is initialized.
 
DeviceGetDevice () const
 
- Public Member Functions inherited from AZ::RHI::Object
 AZ_RTTI (Object,"{E43378F1-2331-4173-94B8-990ED20E6003}")
 
void SetName (const Name &name)
 Sets the name of the object.
 
const Name & GetName () const
 Returns the name set on the object by SetName.
 
uint32_t use_count ()
 Returns the current use count of the object.
 

Protected Member Functions

void SetDescriptor (const BufferDescriptor &descriptor)
 
- Protected Member Functions inherited from AZ::RHI::Resource
Ptr< ImageViewGetResourceView (const ImageViewDescriptor &imageViewDescriptor) const
 Returns view based on the descriptor.
 
Ptr< BufferViewGetResourceView (const BufferViewDescriptor &bufferViewDescriptor) const
 
- Protected Member Functions inherited from AZ::RHI::DeviceObject
void Init (Device &device)
 The derived class should call this method to assign the device.
 
- Protected Member Functions inherited from AZ::RHI::Object
void add_ref () const
 
void release () const
 

Friends

class BufferPoolBase
 

Additional Inherited Members

- Protected Attributes inherited from AZ::RHI::Object
AZStd::atomic_int m_useCount = 0
 

Detailed Description

A buffer corresponds to a region of linear memory and used for rendering operations. The user manages the lifecycle of a buffer through a BufferPool.

Member Function Documentation

void AZ::RHI::Buffer::ReportMemoryUsage ( MemoryStatisticsBuilder builder) const
overridevirtual

This implementation estimates memory usage using the descriptor. Platforms may override to report more accurate usage metrics.

Implements AZ::RHI::Resource.


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