feat(meshlet): refactor meshlet pipeline & add benchmark

Refactor meshlet build pipeline for robustness and performance.
Rename DxcShaderCompiler to DXCShaderCompiler. Enhance meshlet
data structures with bounds and LOD info. Add fallback mesh
simplification. Remove obsolete MeshRenderPass. Add
MeshoptBenchmark for meshlet build performance. Update mesh
import utilities for correct handedness. Minor bug fixes and
code cleanups.
This commit is contained in:
2026-04-02 17:50:44 +09:00
parent e32a24739d
commit d03eb659fa
12 changed files with 465 additions and 408 deletions

View File

@@ -14,7 +14,7 @@ using static TerraFX.Interop.DirectX.DXC;
namespace Ghost.Graphics.Core;
internal sealed partial class DxcShaderCompiler
internal sealed partial class DXCShaderCompiler
{
private static string GetProfileString(ShaderStage stage, CompilerTier version)
{
@@ -149,7 +149,7 @@ internal sealed partial class DxcShaderCompiler
}
}
internal sealed unsafe partial class DxcShaderCompiler : IShaderCompiler
internal sealed unsafe partial class DXCShaderCompiler : IShaderCompiler
{
private UniquePtr<IDxcCompiler3> _compiler;
private UniquePtr<IDxcUtils> _utils;
@@ -159,7 +159,7 @@ internal sealed unsafe partial class DxcShaderCompiler : IShaderCompiler
private bool _disposed;
public DxcShaderCompiler()
public DXCShaderCompiler()
{
// Initialize DXC _compiler.Get() and _utils.Get()
var dxccID = CLSID.CLSID_DxcCompiler;
@@ -176,7 +176,7 @@ internal sealed unsafe partial class DxcShaderCompiler : IShaderCompiler
_compiledResults = new Dictionary<Key64<ShaderVariant>, GraphicsCompiledResult>();
}
~DxcShaderCompiler()
~DXCShaderCompiler()
{
Dispose();
}