【问题标题】:Graphics, smooth shading and normals图形、平滑阴影和法线
【发布时间】:2013-12-13 11:52:21
【问题描述】:

我正在尝试在我的图形程序中实现三角形的平滑着色,但是我目前不知道如何准确地做到这一点,我有两个选择。

选项 1:(每个向量)

  1. 创建一个“零”向量。
  2. 将每个入射三角形的非归一化法线添加到创建的向量中。
  3. 将结果向量缩放1 / incidentTriangleCount
  4. 返回结果向量的标准化版本。

选项 2:(每个向量)

  1. 创建一个“零”向量。
  2. 将每个入射三角形的归一化法线添加到创建的向量中。
  3. 1 / incidentTriangleCount 缩放结果向​​量。
  4. 返回结果向量的非归一化版本。

两种方法都给我不同的结果,我真的不知道该采取哪一种,有人可以给我建议吗?

【问题讨论】:

  • 如果只能将法线分配给三角形(而不是顶点),则无法进行平滑着色。
  • @athabaska 我目前对每个三角形(面)都有一个法线。对于每个顶点,我想取所有与该顶点相关的三角形(面)的平均值,这不是我需要做的吗?
  • 哦,原来如此。

标签: vector graphics geometry


【解决方案1】:

始终使用标准化法线。因此,您的两个选项将合并为一个:)

此外,在使用“每个”事件三角形时必须小心,因为在这种情况下,整个模型都会被平滑,这是不好的。例如。一个实际上有边缘的铅笔模型看起来像一个圆形的。实现一个阈值,即只考虑三角形,它们的法线之间的夹角相对较小。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-28
    相关资源
    最近更新 更多