代码之家  ›  专栏  ›  技术社区  ›  Yippie-Ki-Yay

在渲染中使用三角形带和三角形扇有什么好处?

  •  3
  • Yippie-Ki-Yay  · 技术社区  · 15 年前

    我目前正在开发自己的3d引擎,它在几何体渲染方面的能力非常有限,我想扩展它。我感兴趣的是如何存储几何对象并绘制它们。

    D3DPT_TRIANGLELIST D3DPT_TRIANGLESTRIP )或三角扇( D3DPT_TRIANGLEFAN ).

    它们的使用如何受益?它们是否以某种方式适合游戏制作流程? (我的意思是,比如说,艺术家们能开发出他们的模型来利用这些模型吗 strips / fans 技术?)

    3 回复  |  直到 10 年前
        1
  •  4
  •   elmattic    15 年前

    表示对象-例如

    我的问题是-他们真的 3d引擎?

    TriangleStrip

    TriangleFan 存在于D3D9中,但已从D3D10和D3D11中删除。我的建议是,不要使用它们。它们不再好的原因是,就属性插值而言(如texcoord或法线),它们的工作非常糟糕,因为您可以使用它们生成非常细和细长的三角形。

    你可以说你也可以用条带或三角形列表来做,当然,但实际上做扇形的能力会导致不友好的(人工制品方面的)网格。通过将其从D3D中删除,内容创建工具可能会输出细分,以避免具有锐角的长三角形。

    长三角形和细三角形也是不好的(性能方面),因为它在光栅化过程中会生成次优的四边形片段(请参阅优秀的) Humus post on triangulation ).

        2
  •  5
  •   Marcelo Cantos    15 年前

    三角形条带非常常见,因为它们可以比三角形列表更有效地表示曲面。此外,还可以将视觉上分离的三角形条带缝合在一起,以便可以将整个不相交的几何体渲染为单个条带。您可以通过复制第一条带的最后一个顶点和第二条带的第一个顶点来实现这一点,从而创建两个退化三角形来桥接间隙,但不渲染。

    粉丝并不常见。它们可以方便地绘制凸多边形,但即使是那些通常也可以用条带同样有效地完成。

        3
  •  2
  •   Mike Seymour    15 年前

    N 列表中的三角形需要指定 3*N N+2 点数

    推荐文章