示例#1
0
        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);
        }
示例#2
0
        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();
            }
        }
示例#3
0
        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);
        }