using System; namespace Auspex.Rendering.Direct3D; internal abstract class HlslShaderBuilder : IDisposable where TElement : unmanaged { private protected readonly GpuBuffer.Builder _inner; protected HlslShaderBuilder(GpuBuffer.Builder inner) { _inner = inner; } public virtual void Dispose() { _inner.Dispose(); GC.SuppressFinalize(this); } public void Add(ref TElement inst) { _inner.Add(ref inst); } }