Rendering: formalize render-pass graph contract

This commit is contained in:
2026-04-15 07:39:28 +08:00
parent c58c28529f
commit 0c9a67aaca
11 changed files with 23 additions and 27 deletions

View File

@@ -0,0 +1,29 @@
#pragma once
#include <XCEngine/Rendering/RenderPass.h>
namespace XCEngine {
namespace Rendering {
struct RenderPassGraphIO {
bool readSourceColor = false;
bool writeColor = false;
bool writeDepth = false;
};
using RenderPassGraphExecutePassCallback =
std::function<bool(const RenderPassContext&)>;
bool RecordCallbackRasterRenderPass(
const RenderPassRenderGraphContext& context,
const RenderPassGraphIO& io,
RenderPassGraphExecutePassCallback executePassCallback,
std::vector<RenderGraphTextureHandle> additionalReadTextures = {});
bool RecordRasterRenderPass(
RenderPass& pass,
const RenderPassRenderGraphContext& context,
const RenderPassGraphIO& io);
} // namespace Rendering
} // namespace XCEngine