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

#include <IndirectBufferSignature.h>

Inherits AZ::RHI::DeviceObject.

Inherited by AZ::DX12::IndirectBufferSignature, and AZ::Vulkan::IndirectBufferSignature.

Public Member Functions

 AZ_RTTI (IndirectBufferSignature, "{3A2F9DF0-589B-4E05-9205-B688EB896AEA}", Base)
 
ResultCode Init (Device &device, const IndirectBufferSignatureDescriptor &descriptor)
 
uint32_t GetByteStride () const
 Returns the stride in bytes of the command sequence defined by the provided layout.
 
uint32_t GetOffset (IndirectCommandIndex index) const
 
const IndirectBufferSignatureDescriptorGetDescriptor () const
 
const IndirectBufferLayoutGetLayout () const
 
void Shutdown () final
 Clears the current bound device to null.
 
- 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.
 

Additional Inherited Members

- Protected Member Functions inherited from AZ::RHI::DeviceObject
void Init (Device &device)
 The derived class should call this method to assign the device.
 
void Shutdown () override
 Clears the current bound device to null.
 
- Protected Member Functions inherited from AZ::RHI::Object
void add_ref () const
 
void release () const
 
- Protected Attributes inherited from AZ::RHI::Object
AZStd::atomic_int m_useCount = 0
 

Detailed Description

The IndirectBufferSignature is an implementation object that represents the signature of the commands contained in an Indirect Buffer. Indirect Buffers hold the commands that will be used for doing Indirect Rendering.

It also exposes implementation dependent offsets for the commands in a layout. This information is useful when writing commands into a buffer.

Member Function Documentation

◆ GetOffset()

uint32_t AZ::RHI::IndirectBufferSignature::GetOffset ( IndirectCommandIndex  index) const

Returns the offset of the command in the position indicated by the index.

Parameters
indexThe location in the layout of the command.

◆ Init()

ResultCode AZ::RHI::IndirectBufferSignature::Init ( Device device,
const IndirectBufferSignatureDescriptor descriptor 
)

Initialize an IndirectBufferSignature object.

Parameters
deviceThe device that will contain the signature.
descriptorDescriptor with the necessary information for initializing the signature.
Returns
A result code denoting the status of the call. If successful, the IndirectBufferSignature is considered initialized and can be used. If failure, the IndirectBufferSignature remains uninitialized.

◆ Shutdown()

void AZ::RHI::IndirectBufferSignature::Shutdown ( )
finalvirtual

Clears the current bound device to null.

Reimplemented from AZ::RHI::DeviceObject.


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