《顯示列表》
標籤(空格分隔): OpenGL編程指南第七版
在OpenGL中,本章所有技術和功能都被廢棄刪除
顯示列表是一組存儲在一起的OpenGL函數,可以在以後執行。
7.1爲什麼要使用顯示列表
可以提高性能。當我們在本地機器上運行OpenGL時,可以把經常使用一些函數存儲在顯示列表中,以提高程序的性能。
顯示列表只能包含OpenGL函數,且顯示列表中的值不能在以後進行修改。
7.3 顯示列表的設計哲學
7.4 創建和執行顯示列表
7.4.1 命名和創建顯示列表
GLuint glGenLists(GLsizei range);
如:GLuint ListName = glGenLists(1);
void glNewList(GLuint list, GLenum mode);
void glEndList(void)
7.4.2 存儲在顯示列表裏的是什麼
在創建顯示列表時,只有表達式的值存儲在顯示列表中。如果數組中的值以後發生了改變,顯示列表中的值並不會發生改變。如:
顯示列表中存儲的顏色仍然是創建時的黑色。不會變爲紅色。
7.4.3 執行顯示列表
void glCallList(GLuint list);
7.4.4 層次式顯示列表
顯示列表定義中調用其他的顯示列表,如:
但顯示列表的嵌套層次具有限制,限制至少爲64。
創建與原有的顯示列表具有相同索引的顯示列表將自動刪除原先的那個顯示列表。
7.4.5 管理顯示列表索引
GLboolean glIsList(GLuint list);
void glDeleteLists(GLuint list ,GLsizei range);
7.5 執行多個顯示列表
void glListBase(GLuint base);
void glCallLists(GLsizei n, GLenum type, GLvoid* lists);
7.6 用顯示列表管理狀態變量
封裝模式修改