13 template <
typename ... Args>
22 template <
typename ... Args>
25 for(
const auto& vertexLayout : vertexLayouts)
35 template <
typename ... Args>
53 template <
typename ... Args>
64 template <
typename ... Args>
73 template <
typename ... Args>
82 template <
typename ... Args>
90 template <
typename ... Args>
97 template <
typename ... Args>
103 template <
typename T>
109 pipeline->bind(cmdBuffer);
110 resource->bind(cmdBuffer,pipeline);
111 mesh->bind(cmdBuffer);
112 mesh->draw(cmdBuffer);
115 template <
typename T>
121 pipeline->bind(cmdBuffer);
122 resource->bind(cmdBuffer,pipeline);
123 mesh.bind(cmdBuffer);
124 mesh.draw(cmdBuffer);
constexpr const char * getName() const noexcept
std::map< std::string, FCT::ConstLayout > m_uniformLayouts
void processUnhandledTextureSlots()
FCT::ResourceLayout m_pixelResourceLayout
void attachPass(std::string passName)
将此 Layout 附加到一个渲染通道。
Layout(FCT::Context *ctx, Args... args)
void drawMesh(RHI::CommandBuffer *cmdBuffer, T *mesh)
绘制一个网格。
uint32_t findNextAvailableIndex()
FCT::ResourceLayout m_vertexResourceLayout
FCT::ResourceLayout m_resourceLayout
std::map< uint32_t, FCT::VertexLayout > m_vertexLayouts
FCT::RHI::RasterizationPipeline * getCurrentPipeline()
FCT::PixelLayout m_pixelLayout
void ctx(FCT::Context *ctx)
重新设置 FCT 上下文。
FCT::PassResource * getCurrentPassResource()
std::vector< TextureSlot > m_unhandledTextureSlots
constexpr ShaderStages getShaderStages() const noexcept
FCT::SamplerElement SamplerSlot
FCT::ConstLayout UniformSlot
定义 Layout 将要附加到的渲染通道(Render Pass)的名称。