glColorPointer 函式
glColorPointer 函式會定義色彩陣列。
語法
void WINAPI glColorPointer(
GLint size,
GLenum type,
GLsizei stride,
const GLvoid *pointer
);
參數
-
size
-
每個色彩的元件數目。 此值必須是 3 或 4。
-
type
-
色彩陣列中每個色彩元件的資料類型。 可接受的資料類型會以下列常數指定:GL_BYTE、GL_UNSIGNED_BYTE、GL_SHORT、GL_UNSIGNED_SHORT、GL_INT、GL_UNSIGNED_INT、GL_FLOAT或GL_DOUBLE。
-
大步
-
連續色彩之間的位元組位移。 當 stride 為零時,色彩會緊密封裝在陣列中。
-
指標
-
色彩陣列中第一個色彩元素之第一個元件的指標。
傳回值
此函式不會傳回值。
錯誤碼
glGetError函式可以擷取下列錯誤碼。
名稱 | 意義 |
---|---|
|
size 不是 3 或 4。 |
|
類型 不是可接受的值。 |
|
stride 或 count 為負數。 |
備註
glColorPointer函式會指定要在轉譯時使用之色彩元件陣列的位置和資料格式。 stride參數會決定從一個色彩到下一個色彩的位元組位移,以便在單一陣列中封裝頂點屬性,或在個別陣列中儲存。 在某些實作中,將頂點屬性儲存在單一陣列可能會比使用個別陣列更有效率。
使用 glEnableClientState指定GL_COLOR_ARRAY常數來啟用色彩陣列。 呼叫 glArrayElement、 glDrawElements或 glDrawArrays 會使用因此啟用的色彩陣列。 根據預設,色彩陣列已停用。 glColorPointer呼叫無法藉由在顯示清單中輸入。
當您使用 glColorPointer指定色彩陣列時,所有函式色彩陣列參數的值都會儲存在用戶端狀態中,而且您可以快取靜態陣列元素。 因為色彩陣列參數處於用戶端狀態, 所以 glPushAttrib 和 glPopAttrib 不會儲存或還原參數的值。
雖然在 glBegin 和 彩色 配對內指定色彩陣列不會產生錯誤,但結果並未定義。
下列函式會擷 取與 glColorPointer 函 式相關的資訊:
glIsEnabled with argument GL_COLOR_ARRAY
具有引數的glGet GL_COLOR_ARRAY_SIZE
具有引數的glGet GL_COLOR_ARRAY_TYPE
glGet with argument GL_COLOR_ARRAY_STRIDE
glGet with argument GL_COLOR_ARRAY_COUNT
具有引數的glGetPointerv GL_COLOR_ARRAY_POINTER
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限桌面應用程式] |
標頭 |
|
程式庫 |
|
DLL |
|