Refactor graphics engine dependencies and structure
Removed references to `Misaki.HighPerformance.Unsafe` and replaced them with `Misaki.HighPerformance.LowLevel` in multiple files. Removed calls to `AllocationManager.Initialize()` and `AllocationManager.Dispose()` in `EngineCore.cs`. Added new methods to the `ICommandBuffer` interface for enhanced rendering capabilities. Updated the `D3D12CommandBuffer` class to implement new graphics command handling methods. Added the `Material` class to manage shader properties and caching for improved performance. Encapsulated shader compilation and reflection processes within the `Shader` class for better organization. Added the `CBufferCache` struct to optimize GPU resource management for constant buffer data. Updated the `MeshRenderPass` class to utilize the new `Material` class for dynamic mesh rendering. Updated various project files to reflect the restructuring of dependencies. Modified XAML files and code-behind for improved readability and maintainability.
This commit is contained in:
@@ -5,7 +5,10 @@ namespace Ghost.Graphics.Contracts;
|
||||
|
||||
public interface ICommandBuffer
|
||||
{
|
||||
public void DrawMesh(Mesh mesh);
|
||||
public void CopyResource(IResource dstResource, uint dstOffset, IResource srcResource, uint srcOffset, uint size);
|
||||
// TODO: They should be internal, maybe an interface ICommandBufferInternal?
|
||||
public void BarrierTransition(IResource resource, ResourceStates beforeState, ResourceStates afterState);
|
||||
public void SetGraphicsRootConstantBufferView(uint slot, ulong gpuAddress);
|
||||
|
||||
public void DrawMesh(Mesh mesh, Material material);
|
||||
public void CopyResource(IResource dstResource, uint dstOffset, IResource srcResource, uint srcOffset, uint size);
|
||||
}
|
||||
Reference in New Issue
Block a user