glCallLists 函式

GlCallLists 函式會執行顯示清單清單。

語法

void WINAPI glCallLists(
         GLsizei n,
         GLenum  type,
   const GLvoid  *lists
);

參數

n

要執行的顯示清單數目。

type

清單 中的數值型別。 接受下列符號常數。

意義
GL _ 位元組
List 參數會 被視為帶正負號之位元組的陣列,每個都在128到127的範圍中。
GL 不 _ 帶正負號的 _ 位元組
Lists 參數會被視為不帶正負號的位元組陣列,每個都在0到255的範圍內。
GL _ 短期
Lists 參數會被視為帶正負號的2位元組整數陣列,每個都在範圍-32768 到32767之間。
GL 不 _ 帶正負號 _ 簡短
Lists 參數會被視為不帶正負號的2位元組整數陣列,每個都在0到65535的範圍內。
GL _ INT
Lists 參數會被視為帶正負號之4位元組整數的陣列。
GL 不 _ 帶正負號 _ INT
Lists 參數會被視為不帶正負號4位元組整數的陣列。
GL _ FLOAT
Lists 參數會被視為4位元組、浮點值的陣列。
GL _ 2 _ 個位元組
Lists 參數會被視為不帶正負號的位元組陣列。 每一對位元組都指定單一顯示清單名稱。 配對的值會計算為第一個位元組不帶正負號值的256倍加上第二個位元組的不帶正負號值。
GL _ 3 _ 位元組
Lists 參數會被視為不帶正負號的位元組陣列。 每三個位元組都指定單一顯示清單名稱。 三元的值會計算為第一個位元組不帶正負號值的65536倍,加上第二個位元組不帶正負號值的256倍,再加上第三個位元組的不帶正負號值。
GL _ 4 _ 位元組
Lists 參數會被視為不帶正負號的位元組陣列。 每個位元組 quadruplet 會指定單一顯示清單名稱。 Quadruplet 的值會計算為第一個位元組不帶正負號值的16777216倍,加上第二個位元組不帶正負號值的65536倍,加上第三個位元組不帶正負號值的256倍,再加上第四個位元組的不帶正負號值。

清單

顯示清單中名稱位移陣列的位址。 指標類型為 void,因為位移可以是位元組、短、整數或浮點數,這取決於 類型 的值。

傳回值

此函式不會傳回值。

備註

GlCallLists 函式會將名稱清單中的每個顯示清單視為 要執行的清單。 因此,儲存在每個顯示清單中的函式會依序執行,就像在不使用顯示清單的情況下呼叫一樣。 未定義的顯示清單名稱將會被忽略。

GlCallLists 函式提供一種有效率的方式來執行顯示清單。 N 參數會指定) glCallLists 執行的 類型 參數所指定的不同名稱格式 (清單數目。

顯示清單名稱的清單不是以 null 結束。 相反地, n 指定要從 清單 中取得多少名稱。

GlListBase函式可提供額外的間接取值層級。 GlListBase 函式會指定不帶正負號的位移,該位移會新增至 清單 中指定的每個顯示清單名稱,再執行該顯示清單。

GlCallLists 函數可以出現在顯示清單中。 為了避免因為顯示清單彼此呼叫而產生無限遞迴的可能性,在顯示清單執行期間,會在顯示清單的嵌套層級上設定限制。 此限制必須至少為64,且取決於執行。

在呼叫 glCallLists 時,不會儲存並還原 OpenGL 狀態。 因此,在執行完成之後,在顯示清單執行期間對 OpenGL 狀態所做的變更仍會保留。 使用 glPushAttribglPopAttribglPushMatrixglPopMatrix ,可在 glCallLists 呼叫之間保留 OpenGL 狀態。

只要顯示清單只包含此間隔中允許的函式,您就可以在呼叫 glBegin 和對應的 glEnd呼叫之間執行顯示清單。

下列函式會取出與 glCallLists 函數相關的資訊:

具有引數 GL _ 清單 _ 基底的 glGet

具有引數 GL _ 最大 _ 清單 _ 嵌套的 glGet

glIsList

規格需求

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

另請參閱

glBegin

glCallList

glDeleteLists

glEnd

glGenLists

glGet

glIsList

glListBase

glNewList

glPopAttrib

glPopMatrix

glPushAttrib

glPushMatrix