Added RenderPipelineBase

This commit is contained in:
2026-03-02 19:06:19 +09:00
parent 5e42d699c3
commit b8af6e8c3a
13 changed files with 338 additions and 32 deletions

View File

@@ -0,0 +1,34 @@
using Ghost.Core;
using Ghost.Entities;
using Ghost.Graphics.Core;
using Ghost.Graphics.RHI;
using Misaki.HighPerformance.Mathematics;
namespace Ghost.Engine.Components;
[RequireComponent<LocalToWorld>]
public unsafe struct Camera : IComponent
{
public float nearClipPlane;
public float farClipPlane;
public float2 sensorSize;
public GateFit gateFit;
public float iso;
public float shutterSpeed;
public float aperture;
public float focalLength;
public float focusDistance;
public RenderingLayerMask renderingLayerMask;
public int swapChainIndex; // The index of the swap chain to render to. -1 means render to rt only.
public int priority;
public Handle<Texture> colorTarget;
public Handle<Texture> depthTarget;
// TODO: Add more render targets like motion vector, etc.
// Custim render function. If it's not null, the render system will call this function instead of the default render pipeline.
public delegate*<ref readonly RenderingContext, ref readonly RenderRequest, void> renderFunc;
}