显示列表是OpenGL的一个概念,其实质是一堆OpenGL的指令集。把一系列有关系的绘图指令集合在一起,形成一个显示列表,有以下好处:
1. 提升运行速度。OpenGL对显示列表有优化,比如保存中间结果,服务器端保存指令集等。可以提升指令的运行速度,降低开销
2. 便于管理。把一系列指令集中在一起,可以形成类似函数调用的概念。比如要做一个旋转平移的效果。可以把该效果封装成显示列表,以后再需要类似的效果时,直接使用该显示列表。
使用显示列表一般有四个步骤:
1. 创建列表编号(ID)。glGenLists。可使用glIsList来判断ID是否已被使用
2. 创建列表。glNewList和glEndList创建显示列表
3. 调用列表。glCallList。glListBase可以用来设置偏移量。
GLuint lists[] = {1, 3, 4, 8};
1. 提升运行速度。OpenGL对显示列表有优化,比如保存中间结果,服务器端保存指令集等。可以提升指令的运行速度,降低开销
2. 便于管理。把一系列指令集中在一起,可以形成类似函数调用的概念。比如要做一个旋转平移的效果。可以把该效果封装成显示列表,以后再需要类似的效果时,直接使用该显示列表。
使用显示列表一般有四个步骤:
1. 创建列表编号(ID)。glGenLists。可使用glIsList来判断ID是否已被使用
2. 创建列表。glNewList和glEndList创建显示列表
3. 调用列表。glCallList。glListBase可以用来设置偏移量。
GLuint lists[] = {1, 3, 4, 8};
glListBase(10);
glCallLists(4, GL_UNSIGNED_INT, lists);
则实际上调用的是编号为11, 13, 14, 18的四个显示列表
4. 销毁列表。glDeleteLists
本文介绍OpenGL中的显示列表概念,解释其作为一组OpenGL指令集的作用,包括提升运行速度和便于管理等优势。并详细阐述了创建、调用及销毁显示列表的具体步骤。
277

被折叠的 条评论
为什么被折叠?



