为什么OpenGL基元中没有椭圆,椭球和圆柱体

时间:2014-08-23 14:58:59

标签: opengl

我知道有逐行画线,圆,椭圆的算法(例如Bresenham算法):

  1. http://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm
  2. http://en.wikipedia.org/wiki/Midpoint_circle_algorithm
  3. 我想知道为什么这些算法(我确信有用于在3D中绘制椭圆体,球体,圆柱体的算法)而不是在OpenGL中用于绘制相应的图元。在性能方面(这在OpenGL中非常重要)是不是更简单有效,而不是用线条绘制圆圈,用三角形绘制球体?

1 个答案:

答案 0 :(得分:2)

谁说OpenGL无法绘制这些形状?由于Nico已经解释过的原因,没有直接在GPU核心中实现Bresenham和朋友。

然而,由于几年GPU完全可编程,因此您可以渲染几乎任何您喜欢的东西。包括圆,椭圆和相关的基元。你只需编写着色器程序就可以了: - )

这是一个小教程,向您展示它是如何完成的:http://www.geeks3d.com/20130705/shader-library-circle-disc-fake-sphere-in-glsl-opengl-glslhacker/