我知道有逐行画线,圆,椭圆的算法(例如Bresenham算法):
我想知道为什么这些算法(我确信有用于在3D中绘制椭圆体,球体,圆柱体的算法)而不是在OpenGL中用于绘制相应的图元。在性能方面(这在OpenGL中非常重要)是不是更简单有效,而不是用线条绘制圆圈,用三角形绘制球体?
答案 0 :(得分:2)
谁说OpenGL无法绘制这些形状?由于Nico已经解释过的原因,没有直接在GPU核心中实现Bresenham和朋友。
然而,由于几年GPU完全可编程,因此您可以渲染几乎任何您喜欢的东西。包括圆,椭圆和相关的基元。你只需编写着色器程序就可以了: - )
这是一个小教程,向您展示它是如何完成的:http://www.geeks3d.com/20130705/shader-library-circle-disc-fake-sphere-in-glsl-opengl-glslhacker/