Refactor material palette system with GPU indirection
Major overhaul of material palette management: - Added two-buffer indirection (PaletteOffsetBuffer, MaterialIndexBuffer) for GPU material lookup, with incremental upload and resizing. - MaterialPaletteStore now tracks dirty ranges, supports deferred slot reclamation, and exposes CPU-side arrays for upload. - ResourceManager manages persistent GPU buffers and uploads only dirty subranges per frame. - Updated HLSL and C# structs to use palette indices. - Refactored systems/components to use new palette index and release logic. - Added RenderContext.UploadBufferRange for partial uploads. Minor: Fixed StbIApi interop signatures, updated test namespaces, and performed code cleanups.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using Ghost.Editor.Core.AssetHandler;
|
||||
using Ghost.Editor.Core.Assets;
|
||||
using Ghost.Editor.Core.Contracts;
|
||||
using Ghost.Editor.Core.Services;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Ghost.Editor.Core.AssetHandler;
|
||||
using Ghost.Editor.Core.Assets;
|
||||
using Ghost.Editor.Core.Services;
|
||||
using Microsoft.Data.Sqlite;
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using Ghost.Editor.Core.AssetHandler;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using Ghost.Editor.Core.Assets;
|
||||
|
||||
namespace Ghost.UnitTest.AssetSystem;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Ghost.Editor.Core.AssetHandler;
|
||||
using Ghost.Editor.Core.Assets;
|
||||
using Ghost.Editor.Core.Services;
|
||||
using Microsoft.Data.Sqlite;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user