我使用OpenGL并被告知我应该在轮廓的每个顶点绘制圆以获得平滑度。我试过这个,效果很好。问题是速度。它削弱了我的应用程序在每个顶点绘制一个圆圈。我不知道除了圆圈以外,还有其他什么方法可以解决我的轮廓异常问题,但是使用显示列表和尝试使用顶点数组都是非常慢的。由于为多边形轮廓绘制圆圈的最有效方法
见:Edges on polygon outlines not always correct
我使用OpenGL并被告知我应该在轮廓的每个顶点绘制圆以获得平滑度。我试过这个,效果很好。问题是速度。它削弱了我的应用程序在每个顶点绘制一个圆圈。我不知道除了圆圈以外,还有其他什么方法可以解决我的轮廓异常问题,但是使用显示列表和尝试使用顶点数组都是非常慢的。由于为多边形轮廓绘制圆圈的最有效方法
见:Edges on polygon outlines not always correct
一个(也许是太花哨),另一种方法是绘制界定圆一个多边形(比如,四),和然后使用片段程序丢弃片段。这并不是完全微不足道的,但我敢打赌这是最快的方法。
如果从片段中心到圆心的距离大于所需半径,您只需将圆参数传递给片段程序并丢弃片段即可。
是否有关于性能的基准? – SOUser 2014-08-22 06:16:08
如果您被告知SO,请提供该问题的链接,因为我不明白您的问题中的原始问题;) – zerm 2010-06-14 22:07:02
@zerm请参阅编辑。 – jmasterx 2010-06-14 22:14:49
当你说“尝试使用顶点数组”时,你是如何使用它们的?一个VA包含一个具有多个glTranslates()/ glDrawElements()的单个圆或一个具有一个glDrawElements()调用的大型VA? – genpfault 2010-06-14 22:16:09