标签: c++ c opengl
我正在使用OpenGL,并被告知我应该在我的轮廓的每个顶点绘制圆圈以获得平滑度。我试过这个并且效果很好。问题是速度。它使我的应用程序瘫痪,在每个顶点绘制一个圆圈。我不确定除了圆圈之外还有什么方法可以修复我的轮廓的异常,但使用显示列表并尝试使用顶点数组都非常慢。感谢
请参阅:Edges on polygon outlines not always correct
答案 0 :(得分:2)
一个(可能太花哨)替代方案是绘制一个界定圆的单个多边形(比如四边形),然后使用片段程序丢弃这些碎片。写这不是完全无足轻重的,但我敢打赌这是最快的方法。
如果从片段中心到圆心的距离大于所需的半径,则只需将圆参数传递给片段程序并丢弃片段。
答案 1 :(得分:0)
你看过this文章吗?
..或者如果您可以访问GL实用程序库,则可以使用gluDisk