feat(engine): refactor resource mgmt & render pipeline
Refactors engine infrastructure for improved resource/service management and render pipeline extensibility. Replaces World’s resource API with a service-based API. Splits IGraphicsEngine’s RenderFrame into BeginFrame/EndFrame. Adds support for pluggable render pipelines in RenderSystem. Replaces disposed checks with Debug.Assert in performance paths. Updates RenderExtractionSystem and render loop for new APIs. Improves diagnostics and code clarity. BREAKING CHANGE: Resource API replaced with service API; render pipeline and frame lifecycle interfaces changed.
This commit is contained in:
@@ -78,11 +78,18 @@ public interface IGraphicsEngine : IDisposable
|
||||
ISwapChain CreateSwapChain(SwapChainDesc desc);
|
||||
|
||||
/// <summary>
|
||||
/// Renders the current frame.
|
||||
/// Begin the current frame.
|
||||
/// </summary>
|
||||
/// <param name="commandAllocator">Command allocator to use for rendering</param>
|
||||
/// <param name="cpuFenceValue">CPU fence value for synchronization</param>
|
||||
/// <param name="gpuFenceValue">GPU fence value for synchronization</param>
|
||||
/// <returns>Result of the rendering operation</returns>
|
||||
Result RenderFrame(ICommandAllocator commandAllocator, uint cpuFenceValue, uint gpuFenceValue);
|
||||
/// <returns>Result of the begin frame operation</returns>
|
||||
Result BeginFrame(uint cpuFenceValue, uint gpuFenceValue);
|
||||
|
||||
/// <summary>
|
||||
/// End the current frame.
|
||||
/// </summary>
|
||||
/// <param name="cpuFenceValue">CPU fence value for synchronization</param>
|
||||
/// <param name="gpuFenceValue">GPU fence value for synchronization</param>
|
||||
/// <returns>Result of the end frame operation</returns>
|
||||
Result EndFrame(uint cpuFenceValue, uint gpuFenceValue);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user