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.
38 lines
735 B
C#
38 lines
735 B
C#
using Misaki.HighPerformance.LowLevel.Collections;
|
|
|
|
namespace Ghost.Graphics.Contracts;
|
|
|
|
public unsafe interface IResource : IDisposable
|
|
{
|
|
public ulong GPUAddress
|
|
{
|
|
get;
|
|
}
|
|
|
|
public string Name
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public bool TempResource
|
|
{
|
|
get;
|
|
}
|
|
|
|
public void SetData<T>(Span<T> data)
|
|
where T : unmanaged;
|
|
|
|
public void SetData<T>(T* data, uint length)
|
|
where T : unmanaged;
|
|
|
|
public void SetData(void* data, uint size);
|
|
|
|
public UnsafeArray<T> ReadData<T>(Allocator allocator)
|
|
where T : unmanaged;
|
|
|
|
public void ReadData<T>(T* ppData, uint* size)
|
|
where T : unmanaged;
|
|
|
|
public void ReadData(void* ppData, uint* size);
|
|
} |