Open 3D Engine AtomTressFX 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::HairSharedBufferInterface Class Referenceabstract

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

#include <HairSharedBufferInterface.h>

Inherited by AZ::Render::SharedBuffer.

Public Member Functions

 AZ_RTTI (AZ::Render::HairSharedBufferInterface, "{3CCB13CB-16FF-43F5-98DC-F36B2A9F8E5E}")
 
virtual Data::Asset< RPI::BufferAsset > GetBufferAsset () const =0
 Returns the shared buffer asset used for all Hair objects and passes.
 
virtual Data::Instance< RPI::Buffer > GetBuffer ()=0
 Returns the buffer that is used for all skinned mesh outputs.
 
virtual AZStd::intrusive_ptr< HairSharedBufferAllocationAllocate (size_t byteCount)=0
 
virtual void DeAllocate (RHI::VirtualAddress allocation)=0
 
virtual void DeAllocateNoSignal (RHI::VirtualAddress allocation)=0
 
virtual bool UpdateData (const void *sourceData, uint64_t sourceDataSizeInBytes, uint64_t bufferByteOffset=0)=0
 Update buffer's content with sourceData at an offset of bufferByteOffset.
 
 AZ_DISABLE_COPY_MOVE (HairSharedBufferInterface)
 

Static Public Member Functions

static HairSharedBufferInterfaceGet ()
 

Detailed Description

A class for allocating memory for skinning buffers.

Member Function Documentation

◆ Allocate()

virtual AZStd::intrusive_ptr< HairSharedBufferAllocation > AZ::Render::HairSharedBufferInterface::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::SharedBuffer.

◆ DeAllocate()

virtual void AZ::Render::HairSharedBufferInterface::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::SharedBuffer.

◆ DeAllocateNoSignal()

virtual void AZ::Render::HairSharedBufferInterface::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::SharedBuffer.

◆ GetBuffer()

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

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

Implemented in AZ::Render::SharedBuffer.

◆ GetBufferAsset()

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

Returns the shared buffer asset used for all Hair objects and passes.

Implemented in AZ::Render::SharedBuffer.

◆ UpdateData()

virtual bool AZ::Render::HairSharedBufferInterface::UpdateData ( const void *  sourceData,
uint64_t  sourceDataSizeInBytes,
uint64_t  bufferByteOffset = 0 
)
pure virtual

Update buffer's content with sourceData at an offset of bufferByteOffset.

Implemented in AZ::Render::SharedBuffer.


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