Castor3D 0.14.0
Multiplatform 3D engine
Classes | Fonctions membres publiques | Attributs publics | Liste de tous les membres
Référence de la structure castor3d::ObjectBufferOffset

#include <ObjectBufferOffset.hpp>

Graphe de collaboration de castor3d::ObjectBufferOffset:
Collaboration graph
[légende]

Classes

struct  GpuBufferChunk
 

Fonctions membres publiques

 operator bool () const
 
GpuBufferChunkgetBufferChunk (SubmeshFlag flag)
 
GpuBufferChunk const & getBufferChunk (SubmeshFlag flag) const
 
void reset ()
 
void directUpload (SubmeshFlag flag, ashes::Queue const &queue, ashes::CommandPool const &commandPool, VkAccessFlags dstAccessFlags, VkPipelineStageFlags dstPipelineFlags)
 
ashes::BufferBase const & getBuffer (SubmeshFlag flag) const
 
bool hasData (SubmeshFlag flag) const
 
template<typename DataT >
castor::ArrayView< DataT > getData (SubmeshFlag flag) const
 
uint32_t getSize (SubmeshFlag flag) const
 
template<typename DataT >
uint32_t getCount (SubmeshFlag flag) const
 
VkDeviceSize getOffset (SubmeshFlag flag) const
 
template<typename DataT >
uint32_t getFirst (SubmeshFlag flag) const
 
template<typename IndexT >
uint32_t getFirstIndex () const
 
template<typename PositionT >
uint32_t getFirstVertex () const
 
void markDirty (SubmeshFlag flag, VkAccessFlags dstAccessFlags=VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT, VkPipelineStageFlags dstPipelineFlags=VK_PIPELINE_STAGE_VERTEX_INPUT_BIT) const
 
void createUniformPassBinding (SubmeshFlag flag, crg::FramePass &pass, uint32_t binding, std::string const &name) const
 
void createInputStoragePassBinding (SubmeshFlag flag, crg::FramePass &pass, uint32_t binding, std::string const &name) const
 
void createInOutStoragePassBinding (SubmeshFlag flag, crg::FramePass &pass, uint32_t binding, std::string const &name) const
 
void createOutputStoragePassBinding (SubmeshFlag flag, crg::FramePass &pass, uint32_t binding, std::string const &name) const
 
ashes::WriteDescriptorSet getUniformBinding (SubmeshFlag flag, uint32_t binding) const
 
ashes::WriteDescriptorSet getStorageBinding (SubmeshFlag flag, uint32_t binding) const
 

Attributs publics

size_t hash {}
 
std::array< GpuBufferChunk, size_t(SubmeshData::eCount) > buffers {}
 

Documentation des fonctions membres

◆ createInOutStoragePassBinding()

void castor3d::ObjectBufferOffset::createInOutStoragePassBinding ( SubmeshFlag  flag,
crg::FramePass &  pass,
uint32_t  binding,
std::string const &  name 
) const
inline

Références castor3d::ObjectBufferOffset::GpuBufferChunk::createInOutStoragePassBinding(), et getBufferChunk().

Voici le graphe d'appel pour cette fonction :

◆ createInputStoragePassBinding()

void castor3d::ObjectBufferOffset::createInputStoragePassBinding ( SubmeshFlag  flag,
crg::FramePass &  pass,
uint32_t  binding,
std::string const &  name 
) const
inline

Références castor3d::ObjectBufferOffset::GpuBufferChunk::createInputStoragePassBinding(), et getBufferChunk().

Voici le graphe d'appel pour cette fonction :

◆ createOutputStoragePassBinding()

void castor3d::ObjectBufferOffset::createOutputStoragePassBinding ( SubmeshFlag  flag,
crg::FramePass &  pass,
uint32_t  binding,
std::string const &  name 
) const
inline

Références castor3d::ObjectBufferOffset::GpuBufferChunk::createOutputStoragePassBinding(), et getBufferChunk().

Voici le graphe d'appel pour cette fonction :

◆ createUniformPassBinding()

void castor3d::ObjectBufferOffset::createUniformPassBinding ( SubmeshFlag  flag,
crg::FramePass &  pass,
uint32_t  binding,
std::string const &  name 
) const
inline

Références castor3d::ObjectBufferOffset::GpuBufferChunk::createUniformPassBinding(), et getBufferChunk().

Voici le graphe d'appel pour cette fonction :

◆ directUpload()

void castor3d::ObjectBufferOffset::directUpload ( SubmeshFlag  flag,
ashes::Queue const &  queue,
ashes::CommandPool const &  commandPool,
VkAccessFlags  dstAccessFlags,
VkPipelineStageFlags  dstPipelineFlags 
)
inline

Références castor3d::ObjectBufferOffset::GpuBufferChunk::directUpload(), et getBufferChunk().

Voici le graphe d'appel pour cette fonction :

◆ getBuffer()

ashes::BufferBase const & castor3d::ObjectBufferOffset::getBuffer ( SubmeshFlag  flag) const
inline

Références castor3d::ObjectBufferOffset::GpuBufferChunk::getBuffer(), et getBufferChunk().

Voici le graphe d'appel pour cette fonction :

◆ getBufferChunk() [1/2]

GpuBufferChunk & castor3d::ObjectBufferOffset::getBufferChunk ( SubmeshFlag  flag)
inline

◆ getBufferChunk() [2/2]

GpuBufferChunk const & castor3d::ObjectBufferOffset::getBufferChunk ( SubmeshFlag  flag) const
inline

Références buffers, et castor3d::getIndex().

Voici le graphe d'appel pour cette fonction :

◆ getCount()

template<typename DataT >
uint32_t castor3d::ObjectBufferOffset::getCount ( SubmeshFlag  flag) const
inline

Références getBufferChunk(), et castor3d::ObjectBufferOffset::GpuBufferChunk::getCount().

Voici le graphe d'appel pour cette fonction :

◆ getData()

template<typename DataT >
castor::ArrayView< DataT > castor3d::ObjectBufferOffset::getData ( SubmeshFlag  flag) const
inline

Références getBufferChunk(), et castor3d::ObjectBufferOffset::GpuBufferChunk::getData().

Voici le graphe d'appel pour cette fonction :

◆ getFirst()

template<typename DataT >
uint32_t castor3d::ObjectBufferOffset::getFirst ( SubmeshFlag  flag) const
inline

Références getBufferChunk(), et castor3d::ObjectBufferOffset::GpuBufferChunk::getFirst().

Voici le graphe d'appel pour cette fonction :

◆ getFirstIndex()

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

Références castor3d::eIndex.

◆ getFirstVertex()

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

Références castor3d::ePositions.

◆ getOffset()

VkDeviceSize castor3d::ObjectBufferOffset::getOffset ( SubmeshFlag  flag) const
inline

Références getBufferChunk(), et castor3d::ObjectBufferOffset::GpuBufferChunk::getOffset().

Voici le graphe d'appel pour cette fonction :

◆ getSize()

uint32_t castor3d::ObjectBufferOffset::getSize ( SubmeshFlag  flag) const
inline

Références getBufferChunk(), et castor3d::ObjectBufferOffset::GpuBufferChunk::getSize().

Voici le graphe d'appel pour cette fonction :

◆ getStorageBinding()

ashes::WriteDescriptorSet castor3d::ObjectBufferOffset::getStorageBinding ( SubmeshFlag  flag,
uint32_t  binding 
) const
inline

Références getBufferChunk(), et castor3d::ObjectBufferOffset::GpuBufferChunk::getStorageBinding().

Voici le graphe d'appel pour cette fonction :

◆ getUniformBinding()

ashes::WriteDescriptorSet castor3d::ObjectBufferOffset::getUniformBinding ( SubmeshFlag  flag,
uint32_t  binding 
) const
inline

Références getBufferChunk(), et castor3d::ObjectBufferOffset::GpuBufferChunk::getUniformBinding().

Voici le graphe d'appel pour cette fonction :

◆ hasData()

bool castor3d::ObjectBufferOffset::hasData ( SubmeshFlag  flag) const
inline

Références getBufferChunk(), et castor3d::ObjectBufferOffset::GpuBufferChunk::hasData().

Référencé par operator bool().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ markDirty()

void castor3d::ObjectBufferOffset::markDirty ( SubmeshFlag  flag,
VkAccessFlags  dstAccessFlags = VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT,
VkPipelineStageFlags  dstPipelineFlags = VK_PIPELINE_STAGE_VERTEX_INPUT_BIT 
) const
inline

Références getBufferChunk(), et castor3d::ObjectBufferOffset::GpuBufferChunk::markDirty().

Voici le graphe d'appel pour cette fonction :

◆ operator bool()

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

Références castor3d::ePositions, et hasData().

Voici le graphe d'appel pour cette fonction :

◆ reset()

void castor3d::ObjectBufferOffset::reset ( )
inline

Références buffers.

Documentation des données membres

◆ buffers

std::array< GpuBufferChunk, size_t( SubmeshData::eCount ) > castor3d::ObjectBufferOffset::buffers {}

Référencé par getBufferChunk(), et reset().

◆ hash

size_t castor3d::ObjectBufferOffset::hash {}

La documentation de cette structure a été générée à partir du fichier suivant :