LiteFX 0.4.1.2025
Computer Graphics Engine
Loading...
Searching...
No Matches
LiteFX::Rendering::IIndexBuffer Class Referenceabstract

The interface for an index buffer. More...

#include <rendering_api.hpp>

Inherits LiteFX::Rendering::IBuffer.

Inherited by LiteFX::Rendering::IndexBuffer< DirectX12IndexBufferLayout > [virtual], LiteFX::Rendering::IndexBuffer< VulkanIndexBufferLayout > [virtual], and LiteFX::Rendering::IndexBuffer< TIndexBufferLayout > [virtual].

Public Member Functions

 ~IIndexBuffer () noexcept override=default
 
virtual const IIndexBufferLayoutlayout () const noexcept=0
 Gets the layout of the index buffer.
 
- Public Member Functions inherited from LiteFX::Rendering::IBuffer
 ~IBuffer () noexcept override=default
 
virtual BufferType type () const noexcept=0
 Returns the type of the buffer.
 
- Public Member Functions inherited from LiteFX::Rendering::IDeviceMemory
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.
 
- Public Member Functions inherited from LiteFX::Rendering::IMappable
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.
 
- Public Member Functions inherited from LiteFX::Rendering::IStateResource
virtual ~IStateResource () noexcept=default
 Releases the state resource instance.
 
virtual const Stringname () const noexcept=0
 Returns the name of the resource.
 
- Public Member Functions inherited from LiteFX::SharedObject
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

 IIndexBuffer () noexcept=default
 
 IIndexBuffer (const IIndexBuffer &)=delete
 
 IIndexBuffer (IIndexBuffer &&) noexcept=default
 
IIndexBufferoperator= (const IIndexBuffer &)=delete
 
IIndexBufferoperator= (IIndexBuffer &&) noexcept=default
 
- Protected Member Functions inherited from LiteFX::Rendering::IBuffer
 IBuffer () noexcept=default
 
 IBuffer (IBuffer &&) noexcept=default
 
 IBuffer (const IBuffer &)=delete
 
IBufferoperator= (IBuffer &&) noexcept=default
 
IBufferoperator= (const IBuffer &)=delete
 
- Protected Member Functions inherited from LiteFX::Rendering::IDeviceMemory
 IDeviceMemory () noexcept=default
 
 IDeviceMemory (IDeviceMemory &&) noexcept=default
 
 IDeviceMemory (const IDeviceMemory &)=default
 
IDeviceMemoryoperator= (IDeviceMemory &&) noexcept=default
 
IDeviceMemoryoperator= (const IDeviceMemory &)=default
 
- Protected Member Functions inherited from LiteFX::Rendering::IMappable
 IMappable () noexcept=default
 
 IMappable (IMappable &&) noexcept=default
 
 IMappable (const IMappable &)=default
 
IMappableoperator= (IMappable &&) noexcept=default
 
IMappableoperator= (const IMappable &)=default
 
- Protected Member Functions inherited from LiteFX::Rendering::IStateResource
 IStateResource () noexcept=default
 
 IStateResource (const IStateResource &)=delete
 
 IStateResource (IStateResource &&) noexcept=default
 
IStateResourceoperator= (const IStateResource &)=delete
 
IStateResourceoperator= (IStateResource &&) noexcept=default
 
- Protected Member Functions inherited from LiteFX::SharedObject
 SharedObject () noexcept=default
 Initializes a new shared object.
 
 SharedObject (SharedObject &&) noexcept=default
 
 SharedObject (const SharedObject &)=default
 
SharedObjectoperator= (SharedObject &&) noexcept=default
 
SharedObjectoperator= (const SharedObject &)=default
 

Additional Inherited Members

- Static Protected Member Functions inherited from LiteFX::SharedObject
template<typename T , typename... TArgs>
static auto create (TArgs &&... args) -> SharedPtr< T >
 Generic factory method used to create instances of the shared object.
 

Detailed Description

The interface for an index buffer.

Constructor & Destructor Documentation

◆ IIndexBuffer() [1/3]

LiteFX::Rendering::IIndexBuffer::IIndexBuffer ( )
protecteddefaultnoexcept

◆ IIndexBuffer() [2/3]

LiteFX::Rendering::IIndexBuffer::IIndexBuffer ( const IIndexBuffer & )
protecteddelete

◆ IIndexBuffer() [3/3]

LiteFX::Rendering::IIndexBuffer::IIndexBuffer ( IIndexBuffer && )
protecteddefaultnoexcept

◆ ~IIndexBuffer()

LiteFX::Rendering::IIndexBuffer::~IIndexBuffer ( )
overridedefaultnoexcept

Member Function Documentation

◆ layout()

virtual const IIndexBufferLayout & LiteFX::Rendering::IIndexBuffer::layout ( ) const
pure virtualnoexcept

◆ operator=() [1/2]

IIndexBuffer & LiteFX::Rendering::IIndexBuffer::operator= ( const IIndexBuffer & )
protecteddelete

◆ operator=() [2/2]

IIndexBuffer & LiteFX::Rendering::IIndexBuffer::operator= ( IIndexBuffer && )
protecteddefaultnoexcept