glNewList
时间: 2023-08-15 09:08:42 浏览: 126
glNewList是OpenGL中的函数之一,用于开始创建一个显示列表。显示列表是OpenGL的一个高效绘图机制,可以将一组OpenGL函数调用序列封装到一个列表中,然后在需要的时候直接调用该列表,从而避免重复调用OpenGL函数,提高渲染效率。
该函数的参数包括显示列表的索引号和创建模式。显示列表的索引号表示该显示列表的唯一标识,创建模式有两种,一种是GL_COMPILE,表示使用编译模式创建该显示列表,即将OpenGL函数调用序列编译成一个可执行的列表;另一种是GL_COMPILE_AND_EXECUTE,表示使用编译并执行模式创建该显示列表,即将OpenGL函数调用序列编译成一个可执行的列表,并在创建完毕后立即执行。
该函数的调用可以通过以下代码示例:
```c++
GLuint list = glGenLists(1);
glNewList(list, GL_COMPILE);
// 在此处添加OpenGL函数调用
glEndList();
```
其中,glGenLists(1)表示创建一个显示列表,返回的整数值作为该显示列表的索引号,GL_COMPILE表示使用编译模式创建该显示列表,即将OpenGL函数调用序列编译成一个可执行的列表。在glNewList和glEndList之间的代码是需要被封装到显示列表中的OpenGL函数调用序列。
相关问题
qt glnewlist
glNewList是OpenGL中的一个函数,用于创建一个显示列表。显示列表是一种在渲染过程中提高效率的方式,它可以将一系列的OpenGL命令存储起来,然后在需要的时候重复执行这些命令。
使用glNewList函数,我们可以在创建了一个显示列表后,将后续的OpenGL命令添加进这个列表中。例如,我们可以绘制一系列的几何图形,设置不同的光照、材质属性等等。这样,在程序渲染时,我们只需要调用一次显示列表,就能重复执行这些命令,从而提高渲染效率。
glNewList函数需要两个参数:列表的名称和列表的模式。列表的名称是一个无符号整数,用于标识这个显示列表。列表的模式可以是GL_COMPILE或GL_COMPILE_AND_EXECUTE。GL_COMPILE模式表示只将后续的命令添加到列表中,而GL_COMPILE_AND_EXECUTE模式则表示除了添加到列表中,还立即执行这些命令。
总结起来,glNewList函数是用来创建一个显示列表,并将后续的OpenGL命令添加到这个列表中。通过使用显示列表,我们可以在渲染过程中提高效率,避免重复执行相同的命令。
glGenLists
glGenLists是OpenGL中的函数之一,用于创建显示列表。显示列表是OpenGL的一个高效绘图机制,可以将一组OpenGL函数调用序列封装到一个列表中,然后在需要的时候直接调用该列表,从而避免重复调用OpenGL函数,提高渲染效率。
该函数的参数是一个整数n,表示需要创建的显示列表的数量。函数的返回值是一个整数,表示第一个显示列表的索引号。如果创建多个显示列表,后面的显示列表索引号依次递增。需要注意的是,显示列表的索引号在OpenGL上下文中是唯一的。
该函数的调用可以通过以下代码示例:
```c++
GLuint list = glGenLists(1);
glNewList(list, GL_COMPILE);
// 在此处添加OpenGL函数调用
glEndList();
```
其中,glGenLists(1)表示创建一个显示列表,返回的整数值作为该显示列表的索引号,GL_COMPILE表示使用编译模式创建该显示列表,即将OpenGL函数调用序列编译成一个可执行的列表。在glNewList和glEndList之间的代码是需要被封装到显示列表中的OpenGL函数调用序列。