public void CreateIndexBuffer <T>(T[] indices, ResourceUsage usage = ResourceUsage.Default, CpuAccessFlags cpuAccess = CpuAccessFlags.ReadWrite) where T : struct { _faceCount = indices.Length / 3; _is16BitIndices = ClrRuntime.Runtime.SizeOf <T>() == 2; if (_ib != null) { _ib.Dispose(); } _ib = GraphicDeviceFactory.Device.CreateIndexBuffer <T>(usage, cpuAccess, indices); }
public void CreateVertexBuffer <T>(T[] vertexes, ResourceUsage usage = ResourceUsage.Default, CpuAccessFlags cpuAccess = CpuAccessFlags.ReadWrite) where T : struct { if (_vb != null) { _vb.Dispose(); } int size = ClrRuntime.Runtime.SizeOf <T>(); _vertexCount = (vertexes.Length * size) / _vd.Size; _vb = GraphicDeviceFactory.Device.CreateVertexBuffer <T>(_vd.Size, usage, cpuAccess, data: vertexes); }