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::Render::SkinnedMeshOutputStreamManagerInterface Class Referenceabstract

A class for allocating memory for skinning buffers. More...

#include <SkinnedMeshOutputStreamManagerInterface.h>

Inherited by AZ::Render::SkinnedMeshOutputStreamManager.

Public Member Functions

 AZ_RTTI (AZ::Render::SkinnedMeshOutputStreamManagerInterface, "{14536F49-FF76-4B71-B0F4-5E5B73FA4C04}")
 
virtual Data::Asset< RPI::BufferAssetGetBufferAsset ()=0
 Returns the buffer asset that is used for all skinned mesh outputs.
 
virtual Data::Instance< RPI::BufferGetBuffer ()=0
 Returns the buffer that is used for all skinned mesh outputs.
 
virtual AZStd::intrusive_ptr< SkinnedMeshOutputStreamAllocationAllocate (size_t byteCount)=0
 
virtual void DeAllocate (RHI::VirtualAddress allocation)=0
 
virtual void DeAllocateNoSignal (RHI::VirtualAddress allocation)=0
 
 AZ_DISABLE_COPY_MOVE (SkinnedMeshOutputStreamManagerInterface)
 

Static Public Member Functions

static SkinnedMeshOutputStreamManagerInterfaceGet ()
 

Detailed Description

A class for allocating memory for skinning buffers.

Member Function Documentation

◆ Allocate()

virtual AZStd::intrusive_ptr< SkinnedMeshOutputStreamAllocation > AZ::Render::SkinnedMeshOutputStreamManagerInterface::Allocate ( size_t  byteCount)
pure virtual

If the allocation succeeds, returns a ref-counted pointer to a VirtualAddress which will be automatically freed if the ref-count drops to zero If the allocation fails, returns nullptr

Implemented in AZ::Render::SkinnedMeshOutputStreamManager.

◆ DeAllocate()

virtual void AZ::Render::SkinnedMeshOutputStreamManagerInterface::DeAllocate ( RHI::VirtualAddress  allocation)
pure virtual

Mark the memory as available and queue garbage collection to recycle it later (see RHI::Allocator::DeAllocate) After garbage collection is done signal handlers that memory has been freed

Implemented in AZ::Render::SkinnedMeshOutputStreamManager.

◆ DeAllocateNoSignal()

virtual void AZ::Render::SkinnedMeshOutputStreamManagerInterface::DeAllocateNoSignal ( RHI::VirtualAddress  allocation)
pure virtual

Same as DeAllocate, but the signal after garbage collection is ignored If multiple allocations succeeded before one failed, use this to release the successful allocations without triggering new events indicating that new memory has been freed

Implemented in AZ::Render::SkinnedMeshOutputStreamManager.

◆ GetBuffer()

virtual Data::Instance< RPI::Buffer > AZ::Render::SkinnedMeshOutputStreamManagerInterface::GetBuffer ( )
pure virtual

Returns the buffer that is used for all skinned mesh outputs.

Implemented in AZ::Render::SkinnedMeshOutputStreamManager.

◆ GetBufferAsset()

virtual Data::Asset< RPI::BufferAsset > AZ::Render::SkinnedMeshOutputStreamManagerInterface::GetBufferAsset ( )
pure virtual

Returns the buffer asset that is used for all skinned mesh outputs.

Implemented in AZ::Render::SkinnedMeshOutputStreamManager.


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