【发布时间】:2010-06-14 22:01:34
【问题描述】:
我正在使用 OpenGL,并被告知我应该在轮廓的每个顶点上画圆以获得平滑度。我试过了,效果很好。问题是速度。它削弱了我在每个顶点画一个圆圈的应用程序。我不知道如何解决除圆圈以外的轮廓异常,但使用显示列表和尝试使用顶点数组都非常缓慢。谢谢
【问题讨论】:
-
如果您被告知 SO,请您提供该问题的链接,因为我不能仅从您的问题中理解原始问题;)
-
当您说“尝试使用顶点数组”时,您是如何使用它们的?一个 VA 包含一个带有多个 glTranslates()/glDrawElements() 的圆,还是一个带有一个 glDrawElements() 调用的单个大 VA?
-
带有 GLDrawArrays() 的单个大型 VA
-
“它使我的应用程序无法在每个顶点绘制一个圆圈。”现代 GPU 应该能够每帧渲染几百万个三角形而不会阻塞——如果你做得好的话。你到底是如何渲染圆圈的?邮政编码。尝试更改圆形分辨率。如果半径为 3 像素,则不需要高分辨率圆 - 4..6 段就足够了。尝试根据圆圈大小更改圆圈分辨率。 IE。如果圆的大小超过 100 像素,则使用几百个面是有意义的,但对于小的人来说,这是不值得的(没有人会注意到) - 即较小的圆需要更少的多边形。