Add high-performance material/shader system (Ghost.Shader.Concept)
Introduces a new Ghost.Shader.Concept project implementing a modern, data-oriented material and shader system with: - Global/local keyword bitsets (fast O(1) ops, 64 bytes) - Multi-pass shader program and per-pass render state overrides - Thread-safe, 16-byte aligned material property blocks - Material pooling to reduce GC pressure - Batch renderer for efficient PSO grouping and async variant warmup - Full demo (Program.cs) and extensive documentation (ARCHITECTURE.md, README.md, PROJECT_SUMMARY.md) - Minor integration: new enums, doc updates, and keyword handling in existing code No breaking changes to the existing engine; all new code is isolated. This serves as a reference implementation for high-performance, extensible material/shader architectures.
This commit is contained in:
@@ -141,8 +141,8 @@ internal static class TokenLexicon
|
||||
public const string MESH_SHADER = "ms";
|
||||
public const string PIXEL_SHADER = "ps";
|
||||
public const string COMPUTE_SHADER = "cs";
|
||||
public const string DYNAMIC = "dynamic";
|
||||
public const string STATIC = "static";
|
||||
public const string LOCAL = "local";
|
||||
public const string GLOBAL = "global";
|
||||
public const string FALLBACK = "fallback";
|
||||
}
|
||||
|
||||
@@ -208,8 +208,8 @@ internal static class TokenLexicon
|
||||
KnownFunctions.PIXEL_SHADER,
|
||||
KnownFunctions.MESH_SHADER,
|
||||
KnownFunctions.COMPUTE_SHADER,
|
||||
KnownFunctions.DYNAMIC,
|
||||
KnownFunctions.STATIC,
|
||||
KnownFunctions.LOCAL,
|
||||
KnownFunctions.GLOBAL,
|
||||
};
|
||||
|
||||
private static readonly HashSet<string> s_types = new()
|
||||
|
||||
Reference in New Issue
Block a user