C# SlimDX Direct3D11中的线框

C# SlimDX Direct3D11中的线框,c#,3d,slimdx,direct3d11,C#,3d,Slimdx,Direct3d11,我正在尝试使用SlimDX渲染线框3D模型 在谷歌搜索之后,我只找到了高级主题,而没有找到如何在SlimDX中绘制线框。 他们说我必须使用着色器来完成 因为我是DirectX新手,所以我并不真正理解HLSL 我怎么画呢?如果确实需要使用着色器,有人能给我一个示例或提示吗?因为您使用Direct3D 11,所以需要使用着色器来绘制任何内容(修复了从directx10中删除的函数) 对于线框,您确实需要设置光栅化器状态,下面是一个示例(我也在其中删除了消隐: RasterizerStateDescr

我正在尝试使用SlimDX渲染线框3D模型

在谷歌搜索之后,我只找到了高级主题,而没有找到如何在SlimDX中绘制线框。 他们说我必须使用着色器来完成

因为我是DirectX新手,所以我并不真正理解HLSL


我怎么画呢?如果确实需要使用着色器,有人能给我一个示例或提示吗?

因为您使用Direct3D 11,所以需要使用着色器来绘制任何内容(修复了从directx10中删除的函数)

对于线框,您确实需要设置光栅化器状态,下面是一个示例(我也在其中删除了消隐:

RasterizerStateDescription rsd = new RasterizerStateDescription()
{
    CullMode = CullMode.None,
    DepthBias = 0,
    DepthBiasClamp = 0.0f,
    FillMode = FillMode.Wireframe,
    IsAntialiasedLineEnabled = false,
    IsDepthClipEnabled = false,
    IsFrontCounterclockwise = false,
    IsMultisampleEnabled = false,
    IsScissorEnabled = false,
    SlopeScaledDepthBias = 0.0f             
};
然后应用这个状态,

RasterizerState rs = RasterizerState.FromDescription(device, rsd);
device.ImmediateContext.Rasterizer.State = rs;
<>我承认SlimDX没有那么多教程,对于C++,有< /P>


您至少可以在其中找到一些基本的着色器示例。

以下是我找到的,它对我很有用:

device.SetRenderState<FillMode>(RenderState.FillMode, FillMode.Wireframe);
device.SetRenderState(RenderState.FillMode,FillMode.Wireframe);
将“光栅化器状态”作为关键字查找-它允许您选择填充模式(实体、线框、点),可以从着色器或代码中进行设置。您现在应该运气更好:)