Пример #1
0
        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();
        }
Пример #2
0
        /// <summary />
        protected override void Dispose(bool disposing)
        {
            if (_disposed)
            {
                return;
            }

            if (disposing)
            {
            }

            VertexBuffer?.Dispose();
            VertexWeightBuffer?.Dispose();
            IndexBuffer?.Dispose();

            Rebuilt   = null;
            _disposed = true;
        }