Castor3D 0.16.0
Multiplatform 3D engine
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
castor3d::OverlayVertexBufferPoolT< VertexT, CountT > Struct Template Reference

Pool for the overlays vertices. More...

#include <OverlayVertexBufferPool.hpp>

Collaboration diagram for castor3d::OverlayVertexBufferPoolT< VertexT, CountT >:
Collaboration graph
[legend]

Public Types

using Quad = castor::Array< VertexT, CountT >
 

Public Member Functions

 OverlayVertexBufferPoolT (Engine &engine, castor::String const &debugName, RenderDevice const &device, CameraUbo const &cameraUbo, HdrConfigUbo const &hdrConfigUbo, ashes::DescriptorSetLayout const &descriptorLayout, uint32_t count, OverlayTextBufferPoolUPtr textBuf=nullptr)
 
template<typename OverlayT >
bool fill (castor::Size const &renderSize, OverlayT const &overlay, OverlayDrawData &data, bool secondary, FontTexture const *fontTexture) noexcept
 
void upload (UploadData &uploader)
 
void clearDrawPipelineData (FontTexture const *fontTexture)
 
OverlayPipelineDatagetDrawPipelineData (OverlayDrawPipeline const &pipeline, FontTexture const *fontTexture, ashes::DescriptorSet const *textDescriptorSet)
 
void fillComputeDescriptorSet (FontTexture const *fontTexture, ashes::DescriptorSetLayout const &descriptorLayout, ashes::DescriptorSet &descriptorSet) const
 
OverlayTextBuffer const * getTextBuffer (FontTexture const &fontTexture) const
 

Public Attributes

Engineengine
 
RenderDevice const & device
 
CameraUbo const & cameraUbo
 
HdrConfigUbo const & hdrConfigUbo
 
ashes::DescriptorSetLayout const & descriptorLayout
 
castor::String name
 
ashes::BufferPtr< OverlayUboConfigurationoverlaysData
 
castor::ArrayView< OverlayUboConfigurationoverlaysBuffer
 
GpuBufferBase vertexBuffer
 
uint32_t allocated {}
 
uint32_t index {}
 
ashes::DescriptorSetPoolPtr descriptorPool
 
OverlayTextBufferPoolUPtr textBuffer
 

Static Public Attributes

static bool constexpr isPanel = std::is_same_v< VertexT, OverlayCategory::Vertex > && ( CountT == 6u )
 
static bool constexpr isBorder = std::is_same_v< VertexT, OverlayCategory::Vertex > && ( CountT == 48u )
 
static bool constexpr isText = !isPanel && !isBorder
 
static bool constexpr isCpuFilled = isText
 

Detailed Description

template<typename VertexT, uint32_t CountT>
struct castor3d::OverlayVertexBufferPoolT< VertexT, CountT >

Pool for the overlays vertices.

Member Typedef Documentation

◆ Quad

template<typename VertexT , uint32_t CountT>
using castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::Quad = castor::Array< VertexT, CountT >

Constructor & Destructor Documentation

◆ OverlayVertexBufferPoolT()

template<typename VertexT , uint32_t CountT>
castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::OverlayVertexBufferPoolT ( Engine & engine,
castor::String const & debugName,
RenderDevice const & device,
CameraUbo const & cameraUbo,
HdrConfigUbo const & hdrConfigUbo,
ashes::DescriptorSetLayout const & descriptorLayout,
uint32_t count,
OverlayTextBufferPoolUPtr textBuf = nullptr )

Member Function Documentation

◆ clearDrawPipelineData()

template<typename VertexT , uint32_t CountT>
void castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::clearDrawPipelineData ( FontTexture const * fontTexture)

◆ fill()

template<typename VertexT , uint32_t CountT>
template<typename OverlayT >
bool castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::fill ( castor::Size const & renderSize,
OverlayT const & overlay,
OverlayDrawData & data,
bool secondary,
FontTexture const * fontTexture )
noexcept

◆ fillComputeDescriptorSet()

template<typename VertexT , uint32_t CountT>
void castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::fillComputeDescriptorSet ( FontTexture const * fontTexture,
ashes::DescriptorSetLayout const & descriptorLayout,
ashes::DescriptorSet & descriptorSet ) const

◆ getDrawPipelineData()

template<typename VertexT , uint32_t CountT>
OverlayPipelineData & castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::getDrawPipelineData ( OverlayDrawPipeline const & pipeline,
FontTexture const * fontTexture,
ashes::DescriptorSet const * textDescriptorSet )

◆ getTextBuffer()

template<typename VertexT , uint32_t CountT>
OverlayTextBuffer const * castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::getTextBuffer ( FontTexture const & fontTexture) const

◆ upload()

template<typename VertexT , uint32_t CountT>
void castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::upload ( UploadData & uploader)

Member Data Documentation

◆ allocated

template<typename VertexT , uint32_t CountT>
uint32_t castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::allocated {}

◆ cameraUbo

template<typename VertexT , uint32_t CountT>
CameraUbo const& castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::cameraUbo

◆ descriptorLayout

template<typename VertexT , uint32_t CountT>
ashes::DescriptorSetLayout const& castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::descriptorLayout

◆ descriptorPool

template<typename VertexT , uint32_t CountT>
ashes::DescriptorSetPoolPtr castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::descriptorPool

◆ device

template<typename VertexT , uint32_t CountT>
RenderDevice const& castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::device

◆ engine

template<typename VertexT , uint32_t CountT>
Engine& castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::engine

◆ hdrConfigUbo

template<typename VertexT , uint32_t CountT>
HdrConfigUbo const& castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::hdrConfigUbo

◆ index

template<typename VertexT , uint32_t CountT>
uint32_t castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::index {}

◆ isBorder

template<typename VertexT , uint32_t CountT>
bool constexpr castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::isBorder = std::is_same_v< VertexT, OverlayCategory::Vertex > && ( CountT == 48u )
staticconstexpr

◆ isCpuFilled

template<typename VertexT , uint32_t CountT>
bool constexpr castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::isCpuFilled = isText
staticconstexpr

◆ isPanel

template<typename VertexT , uint32_t CountT>
bool constexpr castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::isPanel = std::is_same_v< VertexT, OverlayCategory::Vertex > && ( CountT == 6u )
staticconstexpr

◆ isText

template<typename VertexT , uint32_t CountT>
bool constexpr castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::isText = !isPanel && !isBorder
staticconstexpr

◆ name

template<typename VertexT , uint32_t CountT>
castor::String castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::name

◆ overlaysBuffer

template<typename VertexT , uint32_t CountT>
castor::ArrayView< OverlayUboConfiguration > castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::overlaysBuffer

◆ overlaysData

template<typename VertexT , uint32_t CountT>
ashes::BufferPtr< OverlayUboConfiguration > castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::overlaysData

◆ textBuffer

template<typename VertexT , uint32_t CountT>
OverlayTextBufferPoolUPtr castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::textBuffer

◆ vertexBuffer

template<typename VertexT , uint32_t CountT>
GpuBufferBase castor3d::OverlayVertexBufferPoolT< VertexT, CountT >::vertexBuffer

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