C# SlimDX Direct3D11中的线框
我正在尝试使用SlimDX渲染线框3D模型 在谷歌搜索之后,我只找到了高级主题,而没有找到如何在SlimDX中绘制线框。 他们说我必须使用着色器来完成 因为我是DirectX新手,所以我并不真正理解HLSLC# SlimDX Direct3D11中的线框,c#,3d,slimdx,direct3d11,C#,3d,Slimdx,Direct3d11,我正在尝试使用SlimDX渲染线框3D模型 在谷歌搜索之后,我只找到了高级主题,而没有找到如何在SlimDX中绘制线框。 他们说我必须使用着色器来完成 因为我是DirectX新手,所以我并不真正理解HLSL 我怎么画呢?如果确实需要使用着色器,有人能给我一个示例或提示吗?因为您使用Direct3D 11,所以需要使用着色器来绘制任何内容(修复了从directx10中删除的函数) 对于线框,您确实需要设置光栅化器状态,下面是一个示例(我也在其中删除了消隐: RasterizerStateDescr
我怎么画呢?如果确实需要使用着色器,有人能给我一个示例或提示吗?因为您使用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);
将“光栅化器状态”作为关键字查找-它允许您选择填充模式(实体、线框、点),可以从着色器或代码中进行设置。您现在应该运气更好:)