feat(render): refactor pipeline & shader system for DX12 WG
Major refactor of render pipeline and shader system: - Replaced legacy shader properties with source generator and attribute-based HLSL struct generation. - Introduced ShaderPropertiesRegistry for runtime property layout/code registration. - Added modular IRenderPipeline, IRenderPipelineSettings, and IRenderPayload interfaces. - Implemented GhostRenderPipeline and ECS-driven GPUScene management. - Added experimental DirectX 12 Work Graph support. - Refactored shader compilation, variant hashing, and caching. - Updated APIs for consistency and improved codegen for registration. These changes modernize the rendering infrastructure for advanced features like work graphs and dynamic pipelines. BREAKING CHANGE: Shader DSL, pipeline, and property APIs have changed. Existing shaders and pipeline integrations must be updated.
This commit is contained in:
@@ -186,6 +186,9 @@ public readonly struct Key64<T> : IEquatable<Key64<T>>
|
||||
{
|
||||
return !a.Equals(b);
|
||||
}
|
||||
|
||||
public static implicit operator ulong(Key64<T> key) => key.Value;
|
||||
public static implicit operator Key64<T>(ulong value) => new Key64<T>(value);
|
||||
}
|
||||
|
||||
public readonly struct Key128<T> : IEquatable<Key128<T>>
|
||||
@@ -239,4 +242,7 @@ public readonly struct Key128<T> : IEquatable<Key128<T>>
|
||||
{
|
||||
return !a.Equals(b);
|
||||
}
|
||||
|
||||
public static implicit operator UInt128(Key128<T> key) => key.Value;
|
||||
public static implicit operator Key128<T>(UInt128 value) => new Key128<T>(value);
|
||||
}
|
||||
Reference in New Issue
Block a user