/// <summary> /// Constructor /// </summary> /// <param name="device">Direct3D11 Device</param> /// <param name="maxBodyCount">Maximum body count</param> public JointTableIndexBuffer(Device device, int maxBodyCount) { if (device == null) { throw new ArgumentNullException("device"); } uint[] data = JointDataTable.RepeatTableUInt(maxBodyCount); var desc = DescriptorUtils.ImmutableIndexBufferUint(new BufferElementCount(data.Length)); fixed(uint *ptr = &data[0]) { DataStream ds = new DataStream(new IntPtr(ptr), data.Length * sizeof(uint), true, true); this.buffer = new SharpDX.Direct3D11.Buffer(device, ds, desc); } }
public void ImmutableTestUInt() { BufferElementCount count = new BufferElementCount(1024); var desc = DescriptorUtils.ImmutableIndexBufferUint(count); var expected = new BufferDescription() { BindFlags = BindFlags.IndexBuffer, CpuAccessFlags = CpuAccessFlags.None, OptionFlags = ResourceOptionFlags.None, SizeInBytes = count * sizeof(uint), StructureByteStride = sizeof(uint), Usage = ResourceUsage.Immutable }; Assert.AreEqual(desc, expected); }