gpt4 book ai didi

DirectX: "see through"多边形

转载 作者:行者123 更新时间:2023-12-04 03:13:52 29 4
gpt4 key购买 nike

我创建了一个简单的 DirectX 应用程序来渲染一个顶点场。顶点呈现如下(如果从顶部查看):

|\|\|\|\|
|\|\|\|\|

每个三角形都是这样渲染的:

1
|\
2 3

这应该意味着多边形是逆时针的并且没有被渲染,但它是。无论如何,从顶部看飞机是完美的。

然而,当从另一个层面看时,一些多边形有点透明,您可以看到它们背后的几何体。我已经强调了一些发生这种情况的地方。

我认为这是一些基本的初学者问题。我错过了什么?我的光栅器描述是这样的:

new RasterizerStateDescription
{
CullMode = CullMode.Front,
IsAntialiasedLineEnabled = true,
IsMultisampleEnabled = true,
IsDepthClipEnabled = true,
IsFrontCounterclockwise = false,
IsScissorEnabled = true,
DepthBias = 1,
DepthBiasClamp = 1000.0f,
FillMode = FillMode.Wireframe,
SlopeScaledDepthBias = 1.0f
};

alt text

最佳答案

这是设计使然。 FillMode.Wireframe 仅将每个三角形的边绘制为线。就这样。

第一次使用实体填充模式和深度写入以及颜色 mask (D3D11 术语中的 RenderTargetWriteMask),第二次使用深度测试(但深度写入关闭)和线框模式开启。您可能也需要深度偏差,因为线条和三角形的光栅化方式不同(并且它们的 z 可以在相同的片段位置不同)。

顺便说一句,这种技术被称为隐藏线去除。你可以查看this presentation了解更多详情。

关于DirectX: "see through"多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4734386/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com