使用WPF绘制3D线

时间:2014-02-17 06:58:13

标签: c# wpf performance 3d line

我们都知道WPF 4.5中没有本机功能可以在viewport3D上的3D空间中绘制纯线。

我知道有一些用于WPF的3D工具包。但是对于我的修行,我建立了自己的3D引擎。它几乎完成但我希望能够绘制我的对象的线框(例如显示球体的镶嵌)。 我的引擎几乎可以渲染每个基本的几何形状(立方体,球体,圆锥体,圆柱体,金字塔......)

你知道怎么画线条吗? (我唯一的想法是使用一个非常薄的圆柱体或立方体......但我不认为这是非常有效的,因为我必须为一条线渲染至少8个点(12个三角形))

2 个答案:

答案 0 :(得分:0)

因此,您只需将必要的数据传递到引擎的像素着色器以及颜色,多重采样,宽度或其可能需要的任何信息,并使用PS绘制该行。

答案 1 :(得分:0)

如果您使用单一宽度线并且不介意渲染线框,那么您可以这样做。

更完整的替代方案是绘制由两个相邻三角形组成的四边形。您可以将线条用作图元,并利用几何着色器的功能并使用它来生成四边形。

创建几何着色器,接收形成每条线的两个点并输出三角形列表。您只需要在输出流中附加四个点。使用NVIDIA显示的in this paper计算,计算四边形的四个坐标。

虽然几何着色器的输入是线条,但输出将是两个正确设置的三角形,形成线条。实际上,这种技术提供了相当大的灵活性,因为四边形不限于矩形(即每一边可以具有不同的宽度)。