glNewList 函式

glNewListglEndList函式會建立或取代顯示清單。

語法

void WINAPI glNewList(
   GLuint list,
   GLenum mode
);

參數

list

顯示清單名稱。

mode

編譯模式。 接受下列值。

意義
GL_COMPILE
命令只會進行編譯。
GL_COMPILE_AND_EXECUTE
命令會在編譯成顯示清單時執行。

傳回值

此函式不會傳回值。

錯誤碼

glGetError函式可以擷取下列錯誤碼。

名稱 意義
GL_INVALID_VALUE
list 為零。
GL_INVALID_ENUM
mode 不是可接受的值。
GL_INVALID_OPERATION
函式是在 對 glBegin 的呼叫和 glEnd的對應呼叫之間呼叫。

備註

顯示清單是已儲存以供後續執行的 OpenGL 命令群組。 顯示清單是使用 glNewList建立的。 在呼叫 glEndList 之前,所有後續命令都會放在顯示清單中,依發出的順序排列。

glNewList函式有兩個參數。 第一個參數 list是正整數,會成為顯示清單的唯一名稱。 您可以使用 glGenLists 建立和保留名稱,並使用 glIsList測試唯一性。 第二個參數 mode是可假設上述兩個值之一的符號常數。

某些命令不會編譯成顯示清單,但不論顯示清單模式為何,都會立即執行。 這些命令為 glColorPointerglDeleteListsglDisableClientStateglEdgeFlagPointerglEnableClientStateglFeedbackBufferglFinishglFlushglGenListsglIndexPointerglInterleavedArraysglIsEnabledglIsListglNormalPointerglPopClientAttribglPixelStoreglPushClientAttribglReadPixelsglRenderModeglSelectBufferglTexCoordPointerglVertexPointer和所有 glGet 常式。

同樣地, glTexImage2DglTexImage1D 會立即執行,而且當第一個引數分別GL_PROXY_TEXTURE_2D或GL_PROXY_TEXTURE_1D時,不會編譯到顯示清單中。

遇到glEndList函式時,會將清單與glNewList命令中指定的唯一名稱清單建立關聯,以完成顯示 (清單定義) 。 如果已有名稱清單的顯示 清單 存在,則只有在呼叫 glEndList 時,才會加以取代。

glCallListglCallLists函式可以輸入到顯示清單中。 glCallList 或 glCallLists所執行之顯示清單中的命令不會包含在所建立的顯示清單中,即使清單建立模式GL_COMPILE_AND_EXECUTE也一樣。

下列函式會擷 取 glNewList的相關資訊:

glGet with argument GL_MATRIX_MODE

規格需求

需求
最低支援的用戶端
Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限桌面應用程式]
標頭
Gl.h
程式庫
Opengl32.lib
DLL
Opengl32.dll

另請參閱

glBegin

glCallList

glCallLists

glDeleteLists

glEnd

glEndList

glGenLists

glIsList