Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | List of all members
castor3d::shader::AppendBufferT< DataT > Class Template Reference

#include <GlslAppendBuffer.hpp>

Inheritance diagram for castor3d::shader::AppendBufferT< DataT >:
Inheritance graph
[legend]
Collaboration diagram for castor3d::shader::AppendBufferT< DataT >:
Collaboration graph
[legend]

Public Member Functions

template<typename ... ParamsT>
 AppendBufferT (sdw::ShaderWriter &writer, castor::String blockName, castor::String variableName, uint32_t binding, uint32_t set, bool enabled=true, ParamsT &&... params)
 
template<typename ... ParamsT>
DataT getData (sdw::UInt const &index, ParamsT &&... params) const
 
void appendData (DataT const data)
 
void appendData (DataT const data, sdw::UInt const maxCount)
 
void appendData (DataT const data, uint32_t maxCount)
 
- Public Member Functions inherited from castor3d::shader::AppendBufferBase
C3D_API AppendBufferBase (sdw::ShaderWriter &writer, castor::MbString blockName, castor::MbString variableName, uint32_t binding, uint32_t set, bool enabled=true)
 
C3D_API sdw::UInt incrementCount () const
 
sdw::UInt32 getCount () const
 
bool isEnabled () const noexcept
 
sdw::ShaderWriter * getWriter () const noexcept
 

Additional Inherited Members

- Protected Attributes inherited from castor3d::shader::AppendBufferBase
sdw::ShaderWriter & m_writer
 
castor::RawUniquePtr< sdw::StorageBuffer > m_ssbo
 
castor::RawUniquePtr< sdw::UInt32 > m_count
 
castor::MbString m_variableName
 

Constructor & Destructor Documentation

◆ AppendBufferT()

template<typename DataT >
template<typename ... ParamsT>
castor3d::shader::AppendBufferT< DataT >::AppendBufferT ( sdw::ShaderWriter & writer,
castor::String blockName,
castor::String variableName,
uint32_t binding,
uint32_t set,
bool enabled = true,
ParamsT &&... params )
inline

References castor3d::shader::AppendBufferBase::isEnabled(), and castor3d::shader::AppendBufferBase::m_ssbo.

Here is the call graph for this function:

Member Function Documentation

◆ appendData() [1/3]

template<typename DataT >
void castor3d::shader::AppendBufferT< DataT >::appendData ( DataT const data)
inline

◆ appendData() [2/3]

template<typename DataT >
void castor3d::shader::AppendBufferT< DataT >::appendData ( DataT const data,
sdw::UInt const maxCount )
inline

◆ appendData() [3/3]

template<typename DataT >
void castor3d::shader::AppendBufferT< DataT >::appendData ( DataT const data,
uint32_t maxCount )
inline

◆ getData()

template<typename DataT >
template<typename ... ParamsT>
DataT castor3d::shader::AppendBufferT< DataT >::getData ( sdw::UInt const & index,
ParamsT &&... params ) const
inline

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