何时使用OpenGL显示列表?

时间:2014-12-03 17:31:46

标签: c opengl

我目前正在开展一个项目,我正在尝试重新创建this logo,但在静态内容上设置齿轮动画。现在这就是我到目前为止创造的......

enter image description here

到目前为止它看起来很不错,我今天正在转向齿轮。在对齿轮进行一些研究时,我遇到了openGL中的显示列表,并对它们进行了一些阅读。看起来它们对性能有好处,因为它们减少了反复重绘内容的需要,就像我在相机上移动相机和/或齿轮移动时一样。到目前为止我所拥有的只是一大堆构成标志背景和字母的多边形。弯曲的字母由一堆三角形多边形组成。

所以我的主要问题是,在我开始创建齿轮之前,我是否应该花时间为我已经拥有的内容创建显示列表?还是没有必要?我的齿轮基于使用显示列表的着名齿轮。我很可能会在那里使用它们。

1 个答案:

答案 0 :(得分:4)

这取决于您目前如何渲染对象。

如果您使用即时模式(glBegin / glVertex / glEnd),那么换行显示列表会有所帮助。但是,立体模式渲染和显示列表都是从OpenGL 3开始折旧的,切换到顶点缓冲区对象(VBO)可能会带来更好的性能提升(以重写一些代码为代价)。

如果您已经在使用VBO,那么将这些调用包装在显示列表中可能不会产生任何影响。

https://open.gl/是一个很好的现代OpenGL教程。