internal void BuildBuffers(DeviceContext context) { VertexBuffer?.Dispose(); IndexBuffer?.Dispose(); VertexBuffer = Buffer.Create(context.Device, BindFlags.VertexBuffer, Vertices); VertexBufferBinding = new VertexBufferBinding(VertexBuffer, Vertex.Stride, 0); IndexBuffer = Buffer.Create(context.Device, BindFlags.IndexBuffer, Indices); if (IsSkinned) { VertexWeightBuffer?.Dispose(); VertexWeightBuffer = Buffer.Create(context.Device, BindFlags.VertexBuffer, Weights); VertexWeightBufferBinding = new VertexBufferBinding(VertexWeightBuffer, WeightedVertex.Stride, 0); } Rebuilt?.Invoke(); }
/// <summary /> protected override void Dispose(bool disposing) { if (_disposed) { return; } if (disposing) { } VertexBuffer?.Dispose(); VertexWeightBuffer?.Dispose(); IndexBuffer?.Dispose(); Rebuilt = null; _disposed = true; }