MQEngine
载入中...
搜索中...
未找到
MQEngine::Tech类 参考

#include <Tech.h>

MQEngine::Tech 的协作图:

Public 成员函数

构造与配置
template<typename... Args>
 Tech (Args... args)
访问器
const std::string & getName () const
const std::string & getVertexShaderSource () const
const std::string & getPixelShaderSource () const
const std::vector< FCT::VertexLayout > & getVertexLayouts () const
const FCT::PixelLayout & getPixelLayout () const
const std::vector< FCT::UniformSlot > & getUniformSlots () const
const std::vector< FCT::SamplerSlot > & getSamplerSlots () const
const std::vector< FCT::TextureSlot > & getTextureSlots () const
const std::string & getPassName () const
const ShaderRefgetVertexShaderRef () const
const ShaderRefgetPixelShaderRef () const
const ComponentFiltergetComponentFilter () const
实体操作回调
void executeEntityOperationCallback (entt::registry &registry, entt::entity entity, FCT::Layout *layout, FCT::RHI::CommandBuffer *cmdBuf) const
内部设置器(供TechManager使用)
void setPassName (const std::string &passName)
void setVertexShaderRef (const ShaderRef &ref)
void setPixelShaderRef (const ShaderRef &ref)
void setBindCallback (const TechBindCallback &callback)
void setEntityOperationCallback (const EntityOperationCallback &callback)
回调执行
void executeBindCallback (FCT::Layout *layout) const

Private 成员函数

void processArgs ()
template<typename... Args>
void processArgs (const TechName &name, Args... args)
template<typename... Args>
void processArgs (const VertexShaderSource &vs, Args... args)
template<typename... Args>
void processArgs (const PixelShaderSource &ps, Args... args)
template<typename... Args>
void processArgs (const FCT::VertexLayout &layout, Args... args)
template<typename... Args>
void processArgs (const std::vector< FCT::VertexLayout > &layouts, Args... args)
template<typename... Args>
void processArgs (const FCT::PixelLayout &layout, Args... args)
template<typename... Args>
void processArgs (const FCT::UniformSlot &slot, Args... args)
template<typename... Args>
void processArgs (const std::vector< FCT::UniformSlot > &slots, Args... args)
template<typename... Args>
void processArgs (const FCT::SamplerSlot &slot, Args... args)
template<typename... Args>
void processArgs (const std::vector< FCT::SamplerSlot > &slots, Args... args)
template<typename... Args>
void processArgs (const FCT::TextureSlot &slot, Args... args)
template<typename... Args>
void processArgs (const std::vector< FCT::TextureSlot > &slots, Args... args)
template<typename... Args>
void processArgs (const ComponentFilter &filter, Args... args)
template<typename... Args>
void processArgs (const TechBindCallback &callback, Args... args)
template<typename... Args>
void processArgs (const EntityOperationCallback &callback, Args... args)

Private 属性

std::string m_name
std::string m_vs_source
std::string m_ps_source
std::vector< FCT::VertexLayout > m_vertexLayouts
FCT::PixelLayout m_pixelLayout
std::vector< FCT::UniformSlot > m_uniformSlots
std::vector< FCT::SamplerSlot > m_samplerSlots
std::vector< FCT::TextureSlot > m_textureSlots
ShaderRef m_vs_ref
ShaderRef m_ps_ref
std::string m_passName
ComponentFilter m_componentFilter
TechBindCallback m_bindCallback
EntityOperationCallback m_entityOperationCallback

构造及析构函数说明

◆ Tech()

template<typename... Args>
MQEngine::Tech::Tech ( Args... args)
函数调用图:

成员函数说明

◆ executeBindCallback()

void MQEngine::Tech::executeBindCallback ( FCT::Layout * layout) const
inline

◆ executeEntityOperationCallback()

void MQEngine::Tech::executeEntityOperationCallback ( entt::registry & registry,
entt::entity entity,
FCT::Layout * layout,
FCT::RHI::CommandBuffer * cmdBuf ) const
inline

◆ getComponentFilter()

const ComponentFilter & MQEngine::Tech::getComponentFilter ( ) const
inline

◆ getName()

const std::string & MQEngine::Tech::getName ( ) const
inline

◆ getPassName()

const std::string & MQEngine::Tech::getPassName ( ) const
inline
这是这个函数的调用关系图:

◆ getPixelLayout()

const FCT::PixelLayout & MQEngine::Tech::getPixelLayout ( ) const
inline
这是这个函数的调用关系图:

◆ getPixelShaderRef()

const ShaderRef & MQEngine::Tech::getPixelShaderRef ( ) const
inline

◆ getPixelShaderSource()

const std::string & MQEngine::Tech::getPixelShaderSource ( ) const
inline
这是这个函数的调用关系图:

◆ getSamplerSlots()

const std::vector< FCT::SamplerSlot > & MQEngine::Tech::getSamplerSlots ( ) const
inline
这是这个函数的调用关系图:

◆ getTextureSlots()

const std::vector< FCT::TextureSlot > & MQEngine::Tech::getTextureSlots ( ) const
inline
这是这个函数的调用关系图:

◆ getUniformSlots()

const std::vector< FCT::UniformSlot > & MQEngine::Tech::getUniformSlots ( ) const
inline
这是这个函数的调用关系图:

◆ getVertexLayouts()

const std::vector< FCT::VertexLayout > & MQEngine::Tech::getVertexLayouts ( ) const
inline
这是这个函数的调用关系图:

◆ getVertexShaderRef()

const ShaderRef & MQEngine::Tech::getVertexShaderRef ( ) const
inline

◆ getVertexShaderSource()

const std::string & MQEngine::Tech::getVertexShaderSource ( ) const
inline
这是这个函数的调用关系图:

◆ processArgs() [1/16]

void MQEngine::Tech::processArgs ( )
inlineprivate
这是这个函数的调用关系图:

◆ processArgs() [2/16]

template<typename... Args>
void MQEngine::Tech::processArgs ( const ComponentFilter & filter,
Args... args )
private
函数调用图:

◆ processArgs() [3/16]

template<typename... Args>
void MQEngine::Tech::processArgs ( const EntityOperationCallback & callback,
Args... args )
private
函数调用图:

◆ processArgs() [4/16]

template<typename... Args>
void MQEngine::Tech::processArgs ( const FCT::PixelLayout & layout,
Args... args )
private
函数调用图:

◆ processArgs() [5/16]

template<typename... Args>
void MQEngine::Tech::processArgs ( const FCT::SamplerSlot & slot,
Args... args )
private
函数调用图:

◆ processArgs() [6/16]

template<typename... Args>
void MQEngine::Tech::processArgs ( const FCT::TextureSlot & slot,
Args... args )
private
函数调用图:

◆ processArgs() [7/16]

template<typename... Args>
void MQEngine::Tech::processArgs ( const FCT::UniformSlot & slot,
Args... args )
private
函数调用图:

◆ processArgs() [8/16]

template<typename... Args>
void MQEngine::Tech::processArgs ( const FCT::VertexLayout & layout,
Args... args )
private
函数调用图:

◆ processArgs() [9/16]

template<typename... Args>
void MQEngine::Tech::processArgs ( const PixelShaderSource & ps,
Args... args )
private
函数调用图:

◆ processArgs() [10/16]

template<typename... Args>
void MQEngine::Tech::processArgs ( const std::vector< FCT::SamplerSlot > & slots,
Args... args )
private
函数调用图:

◆ processArgs() [11/16]

template<typename... Args>
void MQEngine::Tech::processArgs ( const std::vector< FCT::TextureSlot > & slots,
Args... args )
private
函数调用图:

◆ processArgs() [12/16]

template<typename... Args>
void MQEngine::Tech::processArgs ( const std::vector< FCT::UniformSlot > & slots,
Args... args )
private
函数调用图:

◆ processArgs() [13/16]

template<typename... Args>
void MQEngine::Tech::processArgs ( const std::vector< FCT::VertexLayout > & layouts,
Args... args )
private
函数调用图:

◆ processArgs() [14/16]

template<typename... Args>
void MQEngine::Tech::processArgs ( const TechBindCallback & callback,
Args... args )
private
函数调用图:

◆ processArgs() [15/16]

template<typename... Args>
void MQEngine::Tech::processArgs ( const TechName & name,
Args... args )
private
函数调用图:

◆ processArgs() [16/16]

template<typename... Args>
void MQEngine::Tech::processArgs ( const VertexShaderSource & vs,
Args... args )
private
函数调用图:

◆ setBindCallback()

void MQEngine::Tech::setBindCallback ( const TechBindCallback & callback)
inline

◆ setEntityOperationCallback()

void MQEngine::Tech::setEntityOperationCallback ( const EntityOperationCallback & callback)
inline

◆ setPassName()

void MQEngine::Tech::setPassName ( const std::string & passName)
inline

◆ setPixelShaderRef()

void MQEngine::Tech::setPixelShaderRef ( const ShaderRef & ref)
inline
这是这个函数的调用关系图:

◆ setVertexShaderRef()

void MQEngine::Tech::setVertexShaderRef ( const ShaderRef & ref)
inline
这是这个函数的调用关系图:

类成员变量说明

◆ m_bindCallback

TechBindCallback MQEngine::Tech::m_bindCallback
private

◆ m_componentFilter

ComponentFilter MQEngine::Tech::m_componentFilter
private

◆ m_entityOperationCallback

EntityOperationCallback MQEngine::Tech::m_entityOperationCallback
private

◆ m_name

std::string MQEngine::Tech::m_name
private

◆ m_passName

std::string MQEngine::Tech::m_passName
private

◆ m_pixelLayout

FCT::PixelLayout MQEngine::Tech::m_pixelLayout
private

◆ m_ps_ref

ShaderRef MQEngine::Tech::m_ps_ref
private

◆ m_ps_source

std::string MQEngine::Tech::m_ps_source
private

◆ m_samplerSlots

std::vector<FCT::SamplerSlot> MQEngine::Tech::m_samplerSlots
private

◆ m_textureSlots

std::vector<FCT::TextureSlot> MQEngine::Tech::m_textureSlots
private

◆ m_uniformSlots

std::vector<FCT::UniformSlot> MQEngine::Tech::m_uniformSlots
private

◆ m_vertexLayouts

std::vector<FCT::VertexLayout> MQEngine::Tech::m_vertexLayouts
private

◆ m_vs_ref

ShaderRef MQEngine::Tech::m_vs_ref
private

◆ m_vs_source

std::string MQEngine::Tech::m_vs_source
private

该类的文档由以下文件生成: