FCT
载入中...
搜索中...
未找到
FCT::Layout类 参考

#include <layout.h>

FCT::Layout 的协作图:
Collaboration graph

struct  PassResourceCache
struct  PassResourceState
struct  PipelineCache
struct  TraditionPipelineState

Public 成员函数

template<typename... Args>
void proccessArgs (FCT::VertexLayout vertexLayout, Args... args)
template<typename... Args>
void proccessArgs (SamplerSlot samplerSlot, Args... args)
template<typename... Args>
void proccessArgs (PassName passName, Args... args)
template<typename... Args>
void proccessArgs (uint32_t index, FCT::VertexLayout vertexLayout, Args... args)
template<typename... Args>
void proccessArgs (FCT::PixelLayout pixelLayout, Args... args)
template<typename... Args>
void proccessArgs (TextureSlot textureSlot, Args... args)
template<typename... Args>
void proccessArgs (UniformSlot uniformSlot, Args... args)
void proccessArgs ()
template<typename... Args>
 Layout (FCT::Context *ctx, Args... args)
void ctx (FCT::Context *ctx)
void setFixedImage (std::string name, FCT::Image *image)
void addTextureSlot (FCT::TextureElement element)
void attachPass (FCT::RenderGraph *graph, std::string passName)
Uniform allocateUniform (std::string name)
FCT::VertexShaderallocateVertexShader (std::string code)
FCT::PixelShaderallocatePixelShader (std::string code)
void begin ()
void bindUniform (const Uniform &uniform)
void bindTexture (std::string name, FCT::Image *image)
void bindSampler (std::string name, FCT::Sampler *sampler)
void bindVertexShader (FCT::VertexShader *shader)
void bindPixelShader (FCT::PixelShader *shader)
template<typename T>
void drawMesh (RHI::CommandBuffer *cmdBuffer, T *mesh)
template<typename T>
void drawMesh (RHI::CommandBuffer *cmdBuffer, T &mesh)
void end ()

Private 成员函数

void processUnhandledTextureSlots ()
uint32_t findNextAvailableIndex ()
FCT::PassResourcegetCurrentPassResource ()
FCT::RHI::RasterizationPipelinegetCurrentPipeline ()

Private 属性

FCT::Contextm_ctx
std::map< uint32_t, FCT::VertexLayoutm_vertexLayouts
std::map< std::string, FCT::ConstLayoutm_uniformLayouts
FCT::PixelLayout m_pixelLayout
FCT::ResourceLayout m_resourceLayout
FCT::ResourceLayout m_vertexResourceLayout
FCT::ResourceLayout m_pixelResourceLayout
std::unordered_map< std::string, FCT::Image * > m_fixedImages
uint32_t m_nextAvailableIndex = 0
std::vector< TextureSlotm_unhandledTextureSlots
bool m_hasVertexLayout = false
bool m_hasPixelLayout = false
PassResourceState m_passResourceState
PassResourceCache m_passResourceCache
FCT::RHI::Passm_pass
TraditionPipelineState m_pipelineState
PipelineCache m_pipelineCache
std::unordered_map< std::string, const char * > m_textureNames

详细描述

在文件 layout.h24 行定义.

构造及析构函数说明

◆ Layout()

template<typename... Args>
FCT::Layout::Layout ( FCT::Context * ctx,
Args... args )
inline

在文件 layout.h103 行定义.

函数调用图:

成员函数说明

◆ addTextureSlot()

void FCT::Layout::addTextureSlot ( FCT::TextureElement element)

在文件 layout.cpp24 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ allocatePixelShader()

FCT::PixelShader * FCT::Layout::allocatePixelShader ( std::string code)

在文件 layout.cpp72 行定义.

◆ allocateUniform()

Uniform FCT::Layout::allocateUniform ( std::string name)

在文件 layout.cpp49 行定义.

◆ allocateVertexShader()

FCT::VertexShader * FCT::Layout::allocateVertexShader ( std::string code)

在文件 layout.cpp54 行定义.

◆ attachPass()

void FCT::Layout::attachPass ( FCT::RenderGraph * graph,
std::string passName )

在文件 layout.cpp37 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ begin()

void FCT::Layout::begin ( )

在文件 layout.cpp87 行定义.

◆ bindPixelShader()

void FCT::Layout::bindPixelShader ( FCT::PixelShader * shader)

在文件 layout.cpp120 行定义.

◆ bindSampler()

void FCT::Layout::bindSampler ( std::string name,
FCT::Sampler * sampler )

在文件 layout.cpp110 行定义.

◆ bindTexture()

void FCT::Layout::bindTexture ( std::string name,
FCT::Image * image )

在文件 layout.cpp105 行定义.

◆ bindUniform()

void FCT::Layout::bindUniform ( const Uniform & uniform)

在文件 layout.cpp99 行定义.

◆ bindVertexShader()

void FCT::Layout::bindVertexShader ( FCT::VertexShader * shader)

在文件 layout.cpp115 行定义.

◆ ctx()

void FCT::Layout::ctx ( FCT::Context * ctx)

在文件 layout.cpp14 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ drawMesh() [1/2]

template<typename T>
void FCT::Layout::drawMesh ( RHI::CommandBuffer * cmdBuffer,
T & mesh )

在文件 layout.hpp26 行定义.

函数调用图:

◆ drawMesh() [2/2]

template<typename T>
void FCT::Layout::drawMesh ( RHI::CommandBuffer * cmdBuffer,
T * mesh )

在文件 layout.hpp14 行定义.

函数调用图:

◆ end()

void FCT::Layout::end ( )

在文件 layout.cpp137 行定义.

◆ findNextAvailableIndex()

uint32_t FCT::Layout::findNextAvailableIndex ( )
private

在文件 layout.cpp269 行定义.

这是这个函数的调用关系图:

◆ getCurrentPassResource()

FCT::PassResource * FCT::Layout::getCurrentPassResource ( )
private

在文件 layout.cpp277 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ getCurrentPipeline()

FCT::RHI::RasterizationPipeline * FCT::Layout::getCurrentPipeline ( )
private

在文件 layout.cpp296 行定义.

这是这个函数的调用关系图:

◆ proccessArgs() [1/8]

void FCT::Layout::proccessArgs ( )
inline

在文件 layout.h94 行定义.

这是这个函数的调用关系图:

◆ proccessArgs() [2/8]

template<typename... Args>
void FCT::Layout::proccessArgs ( FCT::PixelLayout pixelLayout,
Args... args )
inline

在文件 layout.h72 行定义.

函数调用图:

◆ proccessArgs() [3/8]

template<typename... Args>
void FCT::Layout::proccessArgs ( FCT::VertexLayout vertexLayout,
Args... args )
inline

在文件 layout.h27 行定义.

函数调用图:

◆ proccessArgs() [4/8]

template<typename... Args>
void FCT::Layout::proccessArgs ( PassName passName,
Args... args )
inline

在文件 layout.h53 行定义.

函数调用图:

◆ proccessArgs() [5/8]

template<typename... Args>
void FCT::Layout::proccessArgs ( SamplerSlot samplerSlot,
Args... args )
inline

在文件 layout.h36 行定义.

函数调用图:

◆ proccessArgs() [6/8]

template<typename... Args>
void FCT::Layout::proccessArgs ( TextureSlot textureSlot,
Args... args )
inline

在文件 layout.h81 行定义.

函数调用图:

◆ proccessArgs() [7/8]

template<typename... Args>
void FCT::Layout::proccessArgs ( uint32_t index,
FCT::VertexLayout vertexLayout,
Args... args )
inline

在文件 layout.h62 行定义.

函数调用图:

◆ proccessArgs() [8/8]

template<typename... Args>
void FCT::Layout::proccessArgs ( UniformSlot uniformSlot,
Args... args )
inline

在文件 layout.h88 行定义.

函数调用图:

◆ processUnhandledTextureSlots()

void FCT::Layout::processUnhandledTextureSlots ( )
private

在文件 layout.cpp236 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ setFixedImage()

void FCT::Layout::setFixedImage ( std::string name,
FCT::Image * image )

在文件 layout.cpp19 行定义.

这是这个函数的调用关系图:

类成员变量说明

◆ m_ctx

FCT::Context* FCT::Layout::m_ctx
private

在文件 layout.h162 行定义.

◆ m_fixedImages

std::unordered_map<std::string, FCT::Image*> FCT::Layout::m_fixedImages
private

在文件 layout.h169 行定义.

◆ m_hasPixelLayout

bool FCT::Layout::m_hasPixelLayout = false
private

在文件 layout.h173 行定义.

◆ m_hasVertexLayout

bool FCT::Layout::m_hasVertexLayout = false
private

在文件 layout.h172 行定义.

◆ m_nextAvailableIndex

uint32_t FCT::Layout::m_nextAvailableIndex = 0
private

在文件 layout.h170 行定义.

◆ m_pass

FCT::RHI::Pass* FCT::Layout::m_pass
private

在文件 layout.h177 行定义.

◆ m_passResourceCache

PassResourceCache FCT::Layout::m_passResourceCache
private

在文件 layout.h176 行定义.

◆ m_passResourceState

PassResourceState FCT::Layout::m_passResourceState
private

在文件 layout.h175 行定义.

◆ m_pipelineCache

PipelineCache FCT::Layout::m_pipelineCache
private

在文件 layout.h179 行定义.

◆ m_pipelineState

TraditionPipelineState FCT::Layout::m_pipelineState
private

在文件 layout.h178 行定义.

◆ m_pixelLayout

FCT::PixelLayout FCT::Layout::m_pixelLayout
private

在文件 layout.h165 行定义.

◆ m_pixelResourceLayout

FCT::ResourceLayout FCT::Layout::m_pixelResourceLayout
private

在文件 layout.h168 行定义.

◆ m_resourceLayout

FCT::ResourceLayout FCT::Layout::m_resourceLayout
private

在文件 layout.h166 行定义.

◆ m_textureNames

std::unordered_map<std::string,const char*> FCT::Layout::m_textureNames
private

在文件 layout.h181 行定义.

◆ m_unhandledTextureSlots

std::vector<TextureSlot> FCT::Layout::m_unhandledTextureSlots
private

在文件 layout.h171 行定义.

◆ m_uniformLayouts

std::map<std::string, FCT::ConstLayout> FCT::Layout::m_uniformLayouts
private

在文件 layout.h164 行定义.

◆ m_vertexLayouts

std::map<uint32_t, FCT::VertexLayout> FCT::Layout::m_vertexLayouts
private

在文件 layout.h163 行定义.

◆ m_vertexResourceLayout

FCT::ResourceLayout FCT::Layout::m_vertexResourceLayout
private

在文件 layout.h167 行定义.


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