private void DrawPositionColorIndexedTriangleBuffer(Device device, VertexAndIndexDeviceBuffer deviceBuffers, Matrix worldViewProj) { int layoutNumber = 1; device.InputAssembler.InputLayout = _renderLayouts[layoutNumber].VertexLayout; device.InputAssembler.PrimitiveTopology = SharpDX.Direct3D.PrimitiveTopology.TriangleList; SetShaderMaterialVariables(deviceBuffers.Material); var planes = new SixPlanes(); if (null != deviceBuffers.ClipPlanes) { for (int i = 0; i < Math.Min(6, deviceBuffers.ClipPlanes.Length); ++i) { planes[i] = deviceBuffers.ClipPlanes[i]; } } device.InputAssembler.SetVertexBuffers(0, new VertexBufferBinding(deviceBuffers.VertexBuffer, 32, 0)); device.InputAssembler.SetIndexBuffer(deviceBuffers.IndexBuffer, Format.R32_UInt, 0); _renderLayouts[layoutNumber].Pass.Apply(); device.DrawIndexed(deviceBuffers.IndexCount, 0, 0); }
private void DrawPositionColorIndexedTriangleBuffer(Device device, VertexAndIndexDeviceBuffer deviceBuffers, Matrix worldViewProj) { int layoutNumber = 1; device.InputAssembler.InputLayout = _renderLayouts[layoutNumber].VertexLayout; device.InputAssembler.PrimitiveTopology = SharpDX.Direct3D.PrimitiveTopology.TriangleList; SetShaderMaterialVariables(deviceBuffers.Material); var planes = new SixPlanes(); if (null != deviceBuffers.ClipPlanes) { for (int i = 0; i < Math.Min(6, deviceBuffers.ClipPlanes.Length); ++i) { planes[i] = deviceBuffers.ClipPlanes[i]; } } device.InputAssembler.SetVertexBuffers(0, new VertexBufferBinding(deviceBuffers.VertexBuffer, 32, 0)); device.InputAssembler.SetIndexBuffer(deviceBuffers.IndexBuffer, Format.R32_UInt, 0); _renderLayouts[layoutNumber].pass.Apply(); device.DrawIndexed(deviceBuffers.IndexCount, 0, 0); }