RavEngine
Loading...
Searching...
No Matches
RGL::BufferWG Struct Reference
Inheritance diagram for RGL::BufferWG:
[legend]
Collaboration diagram for RGL::BufferWG:
[legend]

Public Member Functions

 BufferWG (decltype(owningDevice), const BufferConfig &)
 
void MapMemory ()
 
void UnmapMemory ()
 
void UpdateBufferData (untyped_span newData, decltype(BufferConfig::nElements) offset=0)
 
void SetBufferData (untyped_span data, decltype(BufferConfig::nElements) offset=0)
 
decltype(BufferConfig::nElements) getBufferSize () const final
 
void * GetMappedDataPtr () final
 
void SignalRangeChanged (const Range &) final
 
- Public Member Functions inherited from RGL::IBuffer
virtual uint32_t GetReadonlyBindlessGPUHandle () const =0
 
virtual uint32_t GetReadwriteBindlessGPUHandle () const =0
 

Public Attributes

WGPUBuffer buffer = nullptr
 
const std::shared_ptr< DeviceWG > owningDevice
 
MutableSpan data
 
uint32_t stride = 0
 
uint32_t mode
 

Member Function Documentation

◆ getBufferSize()

decltype(BufferConfig::nElements) RGL::BufferWG::getBufferSize ( ) const
finalvirtual

Implements RGL::IBuffer.

◆ GetMappedDataPtr()

void * RGL::BufferWG::GetMappedDataPtr ( )
finalvirtual

Implements RGL::IBuffer.

◆ MapMemory()

void RGL::BufferWG::MapMemory ( )
virtual

Map system RAM for updating this buffer.

Implements RGL::IBuffer.

◆ SetBufferData()

void RGL::BufferWG::SetBufferData ( untyped_span  data,
decltype(BufferConfig::nElements)  offset = 0 
)
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.

Implements RGL::IBuffer.

◆ SignalRangeChanged()

void RGL::BufferWG::SignalRangeChanged ( const Range &  )
finalvirtual

Implements RGL::IBuffer.

◆ UnmapMemory()

void RGL::BufferWG::UnmapMemory ( )
virtual

Unmap system RAM for updating this buffer.

Implements RGL::IBuffer.

◆ UpdateBufferData()

void RGL::BufferWG::UpdateBufferData ( untyped_span  newData,
decltype(BufferConfig::nElements)  offset = 0 
)
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.

Implements RGL::IBuffer.


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