2

我们有一个球体,我们想要以 3D 和颜色显示,给定一个取决于球坐标的函数。

球体是在 (theta, phi) 中使用规则网格进行三角剖分的,但这会在两极附近产生很多小三角形。为了减少两极三角形的数量,我们改变了网格生成,以在表面上生成更均匀大小的三角形。

第一种三角测量方法的优点是我们可以轻松创建纹理并将其覆盖在表面上。似乎在 WPF 中不可能像在 OpenGL 或 Direct3D 中那样为顶点分配颜色。

对于第二种三角测量方法,如何生成纹理和设置纹理坐标并不明显,因为顶点不再与网格对齐。

也许可以为每个顶点创建一个包含颜色的线性纹理,但是这将如何影响着色呢?通过应用每个顶点着色,它是否仍会像人们期望的那样在三角形表面上平滑渲染?

4

1 回答 1

2

我已经将算法转换为使用线性纹理,这实际上只是对颜色图的查找。这似乎工作得很好,并且是比前一个更好的解决方案。我现在只创建一个 256 x 1 的固定纹理,而不是创建大小为 ThetaSamples * PhiSamples 的纹理。

于 2010-05-04T13:36:38.710 回答