Rendering: formalize render-pass graph contract
This commit is contained in:
29
engine/include/XCEngine/Rendering/RenderPassGraphContract.h
Normal file
29
engine/include/XCEngine/Rendering/RenderPassGraphContract.h
Normal 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
|
||||
Reference in New Issue
Block a user