-
在C/C++嵌入式系统编程中调用显示列表
资源介绍
三、调用显示列表
使用 glCallList 函数可以调用一个显示列表。该函数有一个参数,表示要调用的显示列表的编号。
例如,要调用编号为 10 的显示列表,直接使用 glCallList(10);就可以了。
使用 glCallLists 函数可以调用一系列的显示列表。该函数有三个参数,第一个参数表示了要调用
多少个显示列表。第二个参数表示了这些显示列表的编号的储存格式,可以是 GL_BYTE(每个
编号用一个 GLbyte 表示),GL_UNSIGNED_BYTE(每个编号用一个 GLubyte 表示),GL_SHORT,
GL_UNSIGNED_SHORT,GL_INT,GL_UNSIGNED_INT,GL_FLOAT。第三个参数表示了这些
显示列表的编号所在的位置。在使用该函数前,需要用 glListBase 函数来设置一个偏移量。假设
偏移量为 k,且 glCallLists 中要求调用的显示列表编号依次为 l1, l2, l3, ...,则实际调用的显示列表
为 l1+k, l2+k, l3+k, ...。
例如:
GLuint lists[] = {1, 3, 4, 8};
glListBase(10);
glCallLists(4, GL_UNSIGNED_INT, lists);
则实际上调用的是编号为 11, 13, 14, 18 的四个显示列表。