0

我在渲染 3D 网格对象时遇到问题。我在 C# 中准备了 3D 网格对象并进行了渲染。不幸的是,必须锋利的边缘是弧度的。

谁能解释一下是什么原因。


我正在使用 Visual Studio 2008 - C# Express Edition。3D 闭合网格对象具有 appr。66.000 个顶点。同时,它不仅有平面,还有曲面


我的意思是两个平面相交的边缘不是直的。

4

1 回答 1

2

您的顶点只有一个法线 - 这是共享该顶点的所有三角形的法线的平均值。

为了获得平坦的阴影,每个顶点必须被视为具有 [n] 个法线 - 其中 [n] 是共享顶点的三角形的数量,并且每个法线必须与三角形的法线相同。一些系统要求顶点确实有 [n] 条法线,但如果您知道您在所有三角形上都是平面着色,那么您可以从三角形继承法线,这并不是绝对必要的。如果(正如 Warren Young 提到的)某些部分是平面阴影而其他部分是平滑阴影,那么您将需要在平面阴影三角形相交的那些顶点处分配额外的法线。

如果没有您正在使用的建模系统的详细信息,(甚至可能没有!)我无法建议您如何实现这一目标。

于 2009-10-13T22:57:56.567 回答