5#ifndef TRADITIONRENDERPASS_H
6#define TRADITIONRENDERPASS_H
53 std::set<PassResource*> resources;
56 resources.insert(job->resource);
58 for (
auto& res : resources)
65 m_pass->beginSubmit(cmdBuf);
74 job->resource->bind(cmdBuf,pipeline);
84 auto pipeline =
m_ctx->createTraditionPipeline();
93 pipeline->bindPass(
m_pass);
RenderGraphPassResourceAddCallback m_addResourceCallback
virtual void bindPipieline(RasterizationPipeline *pipeline)=0
std::map< TraditionPipelineState *, RHI::RasterizationPipeline * > m_pipelineStates
TraditionRenderJobQueue * m_submitQueue
struct FCT::TraditionRenderPass::TraditionRenderJobQueue m_jobQueues[2]
void submitJob(SubmitJob *job)
RHI::RasterizationPipeline * getOrCreateTraditionPipeline(TraditionPipelineState *state)
void swapJobQueue() override
TraditionRenderJobQueue * m_currentQueue
void submit(RHI::CommandBuffer *cmdBuf) override
void submit(Job *job) override
TraditionRenderPass(Context *ctx)
void submitJob(TraditionRenderJob *job)
void updateResource() override
virtual JobType getType() const =0
VertexShader * vertexShader
DepthStencilState * depthStencilState
PixelShader * pixelShader
RasterizationState * rasterizationState
VertexLayout vertexLayout
ResourceLayout resourceLayout
std::vector< SubmitJob * > m_submitJobs
std::vector< TraditionRenderJob * > m_traditionRenderJobs