首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用OpenGL提高轮廓绘制的性能?

使用OpenGL提高轮廓绘制的性能?
EN

Stack Overflow用户
提问于 2011-08-25 10:28:16
回答 1查看 595关注 0票数 2

请参考the video

在我的应用程序中,我使用使用GL_LINE_STRIP创建的DisplayList来显示等高线堆栈。

用户可以使用鼠标选择等高线。为此,在渲染DisplayList之前,我使用唯一的颜色渲染所有的轮廓,并在鼠标下读取像素颜色。(正如here所解释的) .This渲染是使用“即时模式”完成的。

用户还可以移动、删除选中的contours.In,在这种情况下,我重新生成DisplayList。

我的问题是:

1)我正在使用旧的OpenGL技术(固定的管道体系结构)。有什么方法可以使用新的OpenGL技术来提高性能吗?(使用图形处理器、shaders...etc),因为对于大量的等高线,操作并不流畅。

2)我认为轮廓选择的“即时模式”渲染也是一种性能panelty.Is,有没有更好的方法呢?

3)我需要将等高线节点显示为点云,使用GL_POINTS.In这个,我应该使用GL_POINTS创建另一个DisplayList?(这意味着有两个DisplayLists;一个用于显示线条,另一个用于显示点)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-25 14:15:02

离开显示列表,转而使用vertex arrays (VAs)vertex buffer objects (VBOs),应该会给你带来不错的速度。

通过将第一个参数更改为glDrawArrays(),可以非常容易地在GL_LINE_STRIPGL_POINTS之间切换。不需要几何体的两个副本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7184476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档