Files
GhostEngine/Ghost.RenderGraph.Concept/PassData.cs
Misaki 676f8bb74c Add render graph proof of concept and refactor graphics
Implemented a transient render graph system as a proof of concept, including resource aliasing, pass culling, and typed pass data. Added new project `Ghost.RenderGraph.Concept` targeting `.NET 10.0`.

Refactored graphics-related components:
- Simplified resource state transitions in `RenderingContext`.
- Improved resize handling in `GraphicsTestWindow`.
- Updated `D3D12GraphicsEngine` to streamline frame rendering.
- Enhanced `D3D12ResourceDatabase` and `D3D12SwapChain` for better resource management.

Added detailed documentation:
- `ALIASING.md` explains resource aliasing techniques.
- `API_DESIGN.md` outlines the render graph API design.

Updated solution to include the new render graph project.
2025-12-01 22:31:17 +09:00

59 lines
1.6 KiB
C#

namespace Ghost.RenderGraph.Concept;
// Pass data structure for GBuffer outputs
public class GBufferData
{
public RenderGraphTextureHandle Albedo = null!;
public RenderGraphTextureHandle Normal = null!;
public RenderGraphTextureHandle Depth = null!;
}
public class LightingPassData
{
public RenderGraphTextureHandle GBufferAlbedo = null!;
public RenderGraphTextureHandle GBufferNormal = null!;
public RenderGraphTextureHandle GBufferDepth = null!;
public RenderGraphTextureHandle OutputLighting = null!;
}
public class SSAOPassData
{
public RenderGraphTextureHandle GBufferDepth = null!;
public RenderGraphTextureHandle GBufferNormal = null!;
public RenderGraphTextureHandle OutputSSAO = null!;
}
public class TAAPassData
{
public RenderGraphTextureHandle InputLighting = null!;
public RenderGraphTextureHandle OutputTAA = null!;
}
public class PostProcessingPassData
{
public RenderGraphTextureHandle InputTAA = null!;
public RenderGraphTextureHandle InputSSAO = null!;
public RenderGraphTextureHandle OutputBackbuffer = null!;
}
public class DebugPassData
{
public RenderGraphTextureHandle DebugTexture = null!;
}
public class ProfilerMarkerData { }
public class BloomDownsampleData
{
public RenderGraphTextureHandle Input = null!;
public RenderGraphTextureHandle Output = null!;
}
public class PostProcessingPassDataV2
{
public RenderGraphTextureHandle InputTAA = null!;
public RenderGraphTextureHandle InputSSAO = null!;
public RenderGraphTextureHandle InputBloom = null!;
public RenderGraphTextureHandle OutputBackbuffer = null!;
}