public void Setup(SlimDX.Direct3D10.Device device, SlimDX.Direct3D10.InputLayout layout) { device.InputAssembler.SetVertexBuffers(0, new SlimDX.Direct3D10.VertexBufferBinding(VertexBuffer, VertexStreamLayout.Size, 0)); SetupCommon(device, layout); }
void SetupCommon(SlimDX.Direct3D10.Device device, SlimDX.Direct3D10.InputLayout layout) { device.InputAssembler.SetInputLayout(layout); if (MeshType == MeshType.Indexed) { device.InputAssembler.SetPrimitiveTopology(SlimDX.Direct3D10.PrimitiveTopology.TriangleList); device.InputAssembler.SetIndexBuffer(IndexBuffer, SlimDX.DXGI.Format.R16_UInt, 0); } else if (MeshType == MeshType.TriangleStrip) { device.InputAssembler.SetPrimitiveTopology(SlimDX.Direct3D10.PrimitiveTopology.TriangleStrip); } else if (MeshType == MeshType.PointList) { device.InputAssembler.SetPrimitiveTopology(SlimDX.Direct3D10.PrimitiveTopology.PointList); } else if (MeshType == MeshType.LineStrip) { device.InputAssembler.SetPrimitiveTopology(SlimDX.Direct3D10.PrimitiveTopology.LineStrip); } else { throw new NotImplementedException(); } }
public void SetupInstanced(SlimDX.Direct3D10.Device device, SlimDX.Direct3D10.InputLayout layout, SlimDX.Direct3D10.Buffer instanceData, int instanceSize) { device.InputAssembler.SetVertexBuffers(0, new SlimDX.Direct3D10.VertexBufferBinding(VertexBuffer, VertexStreamLayout.Size, 0), new SlimDX.Direct3D10.VertexBufferBinding(instanceData, instanceSize, 0)); SetupCommon(device, layout); }