RavEngine
Loading...
Searching...
No Matches
RGL::IBuffer Struct Referenceabstract
Inheritance diagram for RGL::IBuffer:
[legend]

Public Member Functions

virtual void MapMemory ()=0
 
virtual void UnmapMemory ()=0
 
virtual void SignalRangeChanged (const Range &)=0
 
virtual void UpdateBufferData (untyped_span newData, decltype(BufferConfig::nElements) offset=0)=0
 
virtual void SetBufferData (untyped_span data, decltype(BufferConfig::nElements) offset=0)=0
 
virtual decltype(BufferConfig::nElements) getBufferSize () const =0
 
virtual void * GetMappedDataPtr ()=0
 
virtual uint32_t GetReadonlyBindlessGPUHandle () const =0
 
virtual uint32_t GetReadwriteBindlessGPUHandle () const =0
 

Member Function Documentation

◆ MapMemory()

virtual void RGL::IBuffer::MapMemory ( )
pure virtual

Map system RAM for updating this buffer.

Implemented in RGL::BufferMTL, RGL::BufferWG, RGL::BufferD3D12, and RGL::BufferVk.

◆ SetBufferData()

virtual void RGL::IBuffer::SetBufferData ( untyped_span  data,
decltype(BufferConfig::nElements)  offset = 0 
)
pure virtual

Set the contents of this buffer. Intended to be used with VertexBuffers or other data that changes infrequently or never.

Parameters
newDatathe data to write into the buffer.

Implemented in RGL::BufferMTL, RGL::BufferWG, RGL::BufferD3D12, and RGL::BufferVk.

◆ UnmapMemory()

virtual void RGL::IBuffer::UnmapMemory ( )
pure virtual

Unmap system RAM for updating this buffer.

Implemented in RGL::BufferMTL, RGL::BufferWG, RGL::BufferD3D12, and RGL::BufferVk.

◆ UpdateBufferData()

virtual void RGL::IBuffer::UpdateBufferData ( untyped_span  newData,
decltype(BufferConfig::nElements)  offset = 0 
)
pure virtual

Update the contents of this buffer. If memory is not mapped, it will become mapped. The memory remains mapped. Intended to be used with UniformBuffers or other data that changes frequently.

Parameters
newDatathe data to write into the buffer.

Implemented in RGL::BufferMTL, RGL::BufferWG, RGL::BufferD3D12, and RGL::BufferVk.


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