【问题标题】:Computer graphics: polygon mesh计算机图形学:多边形网格
【发布时间】:2021-03-09 23:05:23
【问题描述】:

所以多边形网格定义如下:

class Triangle{
int vertices[3]; //vertex indices
float nx, ny, nz; //face-plane normal
};
  1. 这是表示使用平面着色的网格的便捷方式吗?解释

  2. 建议使用 Gouraud 着色时使用这种网格格式的对象。解释

  3. 建议使用 Gouraud 着色时网格格式不佳的对象。解释

所以对于 1,我说是的,因为面平面法线可以很容易地转换为面中间的一个点。我在某处读到法线没有位置?

对于 2 我说的是一个球;更柔和的角度

还有3个一盒;更陡的角度。

我不知道,我想我并没有真正理解法线向量是什么。

【问题讨论】:

    标签: graphics polygon normals


    【解决方案1】:
    1. 大部分是的

      从几何计算是可以的,但是从渲染方面来说,只有索引形式的三角形有时可能会出现问题(取决于渲染引擎、硬件等)。通常将三角形点直接以矢量形式而不只是索引会更快,有时三角形包含两者...但是这是浪费空间。

    2. 取决于你如何分类什么可以,什么不可以。

      像球体这样的光滑物体看起来像这样

      虽然像立方体这样的平面网格在渲染时不会出现明显的形状扭曲(但只有像平面阴影这样的颜色,所以照明会被破坏)

      所以这个问题的答案取决于你想要实现更少的照明误差,或者更好的形状识别等等。基本上使用 1 法线作为面部会将 Gourard 变成平面阴影。

      可以通过将大平面分成更多三角形来改善照明

    3. 由于与 #2 相同的原因而无法回答

    所以如果你想回答#2,#3,你需要弄清楚它的好与坏是什么意思......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 2017-05-12
      • 2012-11-10
      • 2014-05-18
      • 1970-01-01
      • 1970-01-01
      • 2012-09-09
      相关资源
      最近更新 更多