Castor3D 0.16.0
Multiplatform 3D engine
Classes | Public Member Functions | Public Attributes | List of all members
castor3d::ObjectBufferOffset Struct Reference

#include <ObjectBufferOffset.hpp>

Classes

struct  GpuBufferChunk
 

Public Member Functions

 ObjectBufferOffset ()=default
 
 ObjectBufferOffset (size_t hash)
 
 operator bool () const
 
GpuBufferChunkgetBufferChunk (SubmeshData data)
 
GpuBufferChunk const & getBufferChunk (SubmeshData data) const
 
uint16_t getID () const
 
void reset ()
 
ashes::BufferBase const & getBuffer (SubmeshData data) const
 
bool hasData (SubmeshData data) const
 
uint32_t getAskedSize (SubmeshData data) const
 
template<typename DataT >
uint32_t getCount (SubmeshData data) const
 
VkDeviceSize getOffset (SubmeshData data) const
 
template<typename DataT >
uint32_t getFirst (SubmeshData data) const
 
template<typename IndexT >
uint32_t getFirstIndex () const
 
template<typename PositionT >
uint32_t getFirstVertex () const
 
void createUniformPassBinding (SubmeshData data, crg::FramePass &pass, uint32_t binding, castor::String const &name) const
 
void createInputStoragePassBinding (SubmeshData data, crg::FramePass &pass, uint32_t binding, castor::String const &name) const
 
void createInOutStoragePassBinding (SubmeshData data, crg::FramePass &pass, uint32_t binding, castor::String const &name) const
 
void createOutputStoragePassBinding (SubmeshData data, crg::FramePass &pass, uint32_t binding, castor::String const &name) const
 
ashes::WriteDescriptorSet getUniformBinding (SubmeshData data, uint32_t binding) const
 
ashes::WriteDescriptorSet getStorageBinding (SubmeshData data, uint32_t binding) const
 

Public Attributes

size_t hash {}
 
castor::Array< GpuBufferChunk, size_t(SubmeshData::eCount) > buffers {}
 
uint16_t id {}
 

Constructor & Destructor Documentation

◆ ObjectBufferOffset() [1/2]

castor3d::ObjectBufferOffset::ObjectBufferOffset ( )
default

◆ ObjectBufferOffset() [2/2]

castor3d::ObjectBufferOffset::ObjectBufferOffset ( size_t hash)
inlineexplicit

Member Function Documentation

◆ createInOutStoragePassBinding()

void castor3d::ObjectBufferOffset::createInOutStoragePassBinding ( SubmeshData data,
crg::FramePass & pass,
uint32_t binding,
castor::String const & name ) const
inline

References castor3d::ObjectBufferOffset::GpuBufferChunk::createInOutStoragePassBinding(), and getBufferChunk().

Here is the call graph for this function:

◆ createInputStoragePassBinding()

void castor3d::ObjectBufferOffset::createInputStoragePassBinding ( SubmeshData data,
crg::FramePass & pass,
uint32_t binding,
castor::String const & name ) const
inline

References castor3d::ObjectBufferOffset::GpuBufferChunk::createInputStoragePassBinding(), and getBufferChunk().

Here is the call graph for this function:

◆ createOutputStoragePassBinding()

void castor3d::ObjectBufferOffset::createOutputStoragePassBinding ( SubmeshData data,
crg::FramePass & pass,
uint32_t binding,
castor::String const & name ) const
inline

◆ createUniformPassBinding()

void castor3d::ObjectBufferOffset::createUniformPassBinding ( SubmeshData data,
crg::FramePass & pass,
uint32_t binding,
castor::String const & name ) const
inline

References castor3d::ObjectBufferOffset::GpuBufferChunk::createUniformPassBinding(), and getBufferChunk().

Here is the call graph for this function:

◆ getAskedSize()

uint32_t castor3d::ObjectBufferOffset::getAskedSize ( SubmeshData data) const
inline

References castor3d::ObjectBufferOffset::GpuBufferChunk::getAskedSize(), and getBufferChunk().

Here is the call graph for this function:

◆ getBuffer()

ashes::BufferBase const & castor3d::ObjectBufferOffset::getBuffer ( SubmeshData data) const
inline

References castor3d::ObjectBufferOffset::GpuBufferChunk::getBuffer(), and getBufferChunk().

Here is the call graph for this function:

◆ getBufferChunk() [1/2]

GpuBufferChunk & castor3d::ObjectBufferOffset::getBufferChunk ( SubmeshData data)
inline

◆ getBufferChunk() [2/2]

GpuBufferChunk const & castor3d::ObjectBufferOffset::getBufferChunk ( SubmeshData data) const
inline

References buffers.

◆ getCount()

template<typename DataT >
uint32_t castor3d::ObjectBufferOffset::getCount ( SubmeshData data) const
inline

References getBufferChunk(), and castor3d::ObjectBufferOffset::GpuBufferChunk::getCount().

Here is the call graph for this function:

◆ getFirst()

template<typename DataT >
uint32_t castor3d::ObjectBufferOffset::getFirst ( SubmeshData data) const
inline

References getBufferChunk(), and castor3d::ObjectBufferOffset::GpuBufferChunk::getFirst().

Here is the call graph for this function:

◆ getFirstIndex()

template<typename IndexT >
uint32_t castor3d::ObjectBufferOffset::getFirstIndex ( ) const
inline

References castor3d::eIndex.

◆ getFirstVertex()

template<typename PositionT >
uint32_t castor3d::ObjectBufferOffset::getFirstVertex ( ) const
inline

References castor3d::ePositions.

◆ getID()

uint16_t castor3d::ObjectBufferOffset::getID ( ) const
inline

References id.

◆ getOffset()

VkDeviceSize castor3d::ObjectBufferOffset::getOffset ( SubmeshData data) const
inline

References getBufferChunk(), and castor3d::ObjectBufferOffset::GpuBufferChunk::getOffset().

Here is the call graph for this function:

◆ getStorageBinding()

ashes::WriteDescriptorSet castor3d::ObjectBufferOffset::getStorageBinding ( SubmeshData data,
uint32_t binding ) const
inline

References getBufferChunk(), and castor3d::ObjectBufferOffset::GpuBufferChunk::getStorageBinding().

Here is the call graph for this function:

◆ getUniformBinding()

ashes::WriteDescriptorSet castor3d::ObjectBufferOffset::getUniformBinding ( SubmeshData data,
uint32_t binding ) const
inline

References getBufferChunk(), and castor3d::ObjectBufferOffset::GpuBufferChunk::getUniformBinding().

Here is the call graph for this function:

◆ hasData()

bool castor3d::ObjectBufferOffset::hasData ( SubmeshData data) const
inline

References getBufferChunk(), and castor3d::ObjectBufferOffset::GpuBufferChunk::hasData().

Referenced by operator bool().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator bool()

castor3d::ObjectBufferOffset::operator bool ( ) const
inlineexplicit

References castor3d::ePositions, and hasData().

Here is the call graph for this function:

◆ reset()

void castor3d::ObjectBufferOffset::reset ( )
inline

References buffers.

Member Data Documentation

◆ buffers

castor::Array< GpuBufferChunk, size_t( SubmeshData::eCount ) > castor3d::ObjectBufferOffset::buffers {}

◆ hash

size_t castor3d::ObjectBufferOffset::hash {}

◆ id

uint16_t castor3d::ObjectBufferOffset::id {}

Referenced by getID().


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