LiteFX 0.4.1.2025
Computer Graphics Engine
|
Base interface for buffer objects. More...
#include <rendering_api.hpp>
Inherits LiteFX::Rendering::IDeviceMemory, LiteFX::Rendering::IMappable, LiteFX::Rendering::IStateResource, and LiteFX::SharedObject.
Inherited by LiteFX::Rendering::Backends::IDirectX12Buffer [virtual]
, LiteFX::Rendering::Backends::IVulkanBuffer [virtual]
, LiteFX::Rendering::IIndexBuffer [virtual]
, and LiteFX::Rendering::IVertexBuffer [virtual]
.
Public Member Functions | |
~IBuffer () noexcept override=default | |
virtual BufferType | type () const noexcept=0 |
Returns the type of the buffer. | |
![]() | |
virtual | ~IDeviceMemory () noexcept=default |
virtual UInt32 | elements () const noexcept=0 |
Gets the number of sub-resources inside the memory chunk. | |
virtual size_t | size () const noexcept=0 |
Gets the size (in bytes) of the aligned memory chunk. | |
virtual size_t | elementSize () const noexcept=0 |
Returns the size of a single element within the buffer. If there is only one element, this is equal to size. | |
virtual size_t | elementAlignment () const noexcept=0 |
Returns the alignment of a single element. | |
virtual size_t | alignedElementSize () const noexcept=0 |
Returns the actual size of the element in device memory. | |
virtual ResourceUsage | usage () const noexcept=0 |
Returns the usage flags for the resource. | |
bool | writable () const noexcept |
Returns true , if the resource can be bound to a read/write descriptor. | |
virtual UInt64 | virtualAddress () const noexcept=0 |
Gets the address of the resource in GPU memory. | |
![]() | |
virtual | ~IMappable () noexcept=default |
virtual void | map (const void *const data, size_t size, UInt32 element=0)=0 |
Maps the memory at data to the internal memory of this object. | |
virtual void | map (Span< const void *const > data, size_t elementSize, UInt32 firstElement=0)=0 |
Maps the memory blocks within data to the internal memory of an array. | |
virtual void | map (void *data, size_t size, UInt32 element=0, bool write=true)=0 |
Maps the memory at data to the internal memory of this object. | |
virtual void | map (Span< void * > data, size_t elementSize, UInt32 firstElement=0, bool write=true)=0 |
Maps the memory blocks within data to the internal memory of an array. | |
![]() | |
virtual | ~IStateResource () noexcept=default |
Releases the state resource instance. | |
virtual const String & | name () const noexcept=0 |
Returns the name of the resource. | |
![]() | |
virtual | ~SharedObject () noexcept=default |
Destroys the shared object. | |
template<typename TSelf > | |
auto | shared_from_this (this TSelf &&self) noexcept |
Returns a shared pointer to the current object instance. | |
template<typename TSelf > | |
auto | weak_from_this (this TSelf &&self) noexcept -> WeakPtr< std::remove_reference_t< TSelf > > |
Returns a weak pointer to the current object instance. | |
Protected Member Functions | |
IBuffer () noexcept=default | |
IBuffer (IBuffer &&) noexcept=default | |
IBuffer (const IBuffer &)=delete | |
IBuffer & | operator= (IBuffer &&) noexcept=default |
IBuffer & | operator= (const IBuffer &)=delete |
![]() | |
IDeviceMemory () noexcept=default | |
IDeviceMemory (IDeviceMemory &&) noexcept=default | |
IDeviceMemory (const IDeviceMemory &)=default | |
IDeviceMemory & | operator= (IDeviceMemory &&) noexcept=default |
IDeviceMemory & | operator= (const IDeviceMemory &)=default |
![]() | |
IMappable () noexcept=default | |
IMappable (IMappable &&) noexcept=default | |
IMappable (const IMappable &)=default | |
IMappable & | operator= (IMappable &&) noexcept=default |
IMappable & | operator= (const IMappable &)=default |
![]() | |
IStateResource () noexcept=default | |
IStateResource (const IStateResource &)=delete | |
IStateResource (IStateResource &&) noexcept=default | |
IStateResource & | operator= (const IStateResource &)=delete |
IStateResource & | operator= (IStateResource &&) noexcept=default |
![]() | |
SharedObject () noexcept=default | |
Initializes a new shared object. | |
SharedObject (SharedObject &&) noexcept=default | |
SharedObject (const SharedObject &)=default | |
SharedObject & | operator= (SharedObject &&) noexcept=default |
SharedObject & | operator= (const SharedObject &)=default |
Additional Inherited Members | |
![]() | |
template<typename T , typename... TArgs> | |
static auto | create (TArgs &&... args) -> SharedPtr< T > |
Generic factory method used to create instances of the shared object. | |
Base interface for buffer objects.
|
protecteddefaultnoexcept |
|
protecteddefaultnoexcept |
|
protecteddelete |
|
overridedefaultnoexcept |
|
pure virtualnoexcept |
Returns the type of the buffer.
Implemented in LiteFX::Rendering::Backends::DirectX12Buffer, and LiteFX::Rendering::Backends::VulkanBuffer.