#pragma once #include "render_pass.h" #include #include namespace iris { struct BufferDesc { }; struct ImageDesc { }; struct ImageWithSamplerDesc { }; struct AccelerationStructureDesc { }; struct CreatedRenderResource { enum struct Type { Buffer, Image, ImageWithSampler, AccelerationStructure, } type; }; struct ImportedRenderResource { }; struct RenderResource { enum struct Type { Created, Imported, } type; union { CreatedRenderResource created; ImportedRenderResource imported; } inner; }; struct RenderGraph { std::vector passes; std::vector resources; }; } // namespace iris