Integrate render target handling in frame graphs (#411)
* Graphics: Integrate RenderTarget in FrameGraph - This handles the blit to texture/swapchain in the FrameGraph and fixes RenderTextureBlit - Dummy attachments were added to the FrameGraph class to handle link without texture (used to setup a dependency between two passes with no texture) - FramePass now supports custom access/layout/usage for inputs * Graphics/RenderTarget: Allow to set any RenderTarget as output
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
#include <NazaraUtils/MemoryPool.hpp>
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
#include <span>
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
#include <vector>
|
||||
@@ -80,12 +81,14 @@ namespace Nz
|
||||
ForwardFramePipeline& operator=(ForwardFramePipeline&&) = delete;
|
||||
|
||||
private:
|
||||
struct ViewerData;
|
||||
|
||||
BakedFrameGraph BuildFrameGraph();
|
||||
|
||||
void RegisterMaterialInstance(MaterialInstance* materialPass);
|
||||
void UnregisterMaterialInstance(MaterialInstance* material);
|
||||
|
||||
struct ViewerData;
|
||||
static std::size_t BuildMergePass(FrameGraph& frameGraph, std::span<ViewerData*> targetViewers);
|
||||
|
||||
struct LightData
|
||||
{
|
||||
@@ -119,7 +122,6 @@ namespace Nz
|
||||
|
||||
struct RenderTargetData
|
||||
{
|
||||
std::size_t finalAttachment;
|
||||
std::vector<const ViewerData*> viewers;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user