예제 #1
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);
        }
예제 #2
0
파일: D3D10Scene.cs 프로젝트: Altaxo/Altaxo
		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);
		}