【问题标题】:Rendering a 3D mesh object渲染 3D 网格对象
【发布时间】:2009-10-13 22:41:07
【问题描述】:

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

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


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


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

【问题讨论】:

  • 外倾角是什么意思?你的意思是边缘不直(弯曲/弯曲)?你的意思是他们是模糊的(抗锯齿)?还是说它们是像素化的?

标签: 3d rendering mesh


【解决方案1】:

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

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

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

【讨论】:

  • 真的吗?为什么不直接使用多边形的法线进行平面着色?
  • @Warren Young - 我以为我在写“你可以从三角形继承法线”时说过。
猜你喜欢
  • 2018-06-29
  • 1970-01-01
  • 1970-01-01
  • 2016-11-08
  • 2012-03-10
  • 2019-01-14
  • 1970-01-01
  • 2010-11-04
  • 2015-01-12
相关资源
最近更新 更多