代码之家  ›  专栏  ›  技术社区  ›  Laz

为什么OpenGL中没有圆或椭圆原语?

  •  12
  • Laz  · 技术社区  · 15 年前

    OpenGL 例如直线或多边形。为什么会这样?这是一个有点烦人,包括自定义标题,这一切的时间!

    5 回复  |  直到 15 年前
        1
  •  24
  •   Maurice Gilden    15 年前

    虽然圆可能是基本形状,但在光栅化方面,它们不像点、线或三角形那样基本。第一批具有3D加速功能的图形卡被设计成可以很好地完成一件事,光栅化三角形(以及线和点,因为它们很容易添加)。添加任何更复杂的形状都会使卡更加昂贵,而只添加很少的功能。

        2
  •  2
  •   Gilbert Le Blanc    15 年前

    因为从历史上看,视频卡渲染点、线和三角形。

        3
  •  2
  •   Peter Mortensen Pieter Jan Bonestroo    15 年前

    因为图形卡操作的是三维点、线和三角形。圆需要曲线或样条曲线。它不能用一个“正常的”三维基本体来完美地表示,只能近似为一个N边形(因此它在一定距离上看起来像一个圆)。如果你想要一个圆,自己写一个例程(这并不难做到)。要么把它画成N边形,要么做一个正方形(2个三角形),然后用碎片着色器从中切出一个圆(这样可以得到一个完美的圆)。

        4
  •  -1
  •   Jakob    15 年前

    你可以随时使用 gluSphere (如果你要找的是三维形状)。

    如果你想画一个二维的圆,你只能用自定义的方法。我会用三角扇子。

    推荐文章