glDrawBuffer 函式

glDrawBuffer函式會指定要繪製的色彩緩衝區。

語法

void WINAPI glDrawBuffer(
   GLenum mode
);

參數

mode

指定最多四個色彩緩衝區,以下列可接受的符號常數繪製到 。

意義
GL_NONE
不會寫入任何色彩緩衝區。
GL_FRONT_LEFT
只會寫入左前色彩緩衝區。
GL_FRONT_RIGHT
只會寫入右方色彩緩衝區。
GL_BACK_LEFT
只會寫入左上層色彩緩衝區。
GL_BACK_RIGHT
只會寫入右上色緩衝區。
GL_FRONT
只會寫入左方和右前色彩緩衝區。 如果沒有右前色彩緩衝區,則只會寫入左色彩緩衝區。
GL_BACK
只會寫入左下和右後色彩緩衝區。 如果沒有右上色緩衝區,則只會寫入左上色緩衝區。
GL_LEFT
只會寫入左前和左上色緩衝區。 如果沒有後端色彩緩衝區,則只會寫入左前色彩緩衝區。
GL_RIGHT
只會寫入右右和右上色緩衝區。 如果沒有右上色緩衝區,則只會寫入右方色彩緩衝區。
GL_FRONT_AND_BACK
會寫入 (左、右、左上、右後、右後) 的所有前和後色彩緩衝區。 如果沒有後端色彩緩衝區,則只會寫入左方和右前色彩緩衝區。 如果沒有右色彩緩衝區,則只會寫入左方和左上層色彩緩衝區。 如果沒有右或後方色彩緩衝區,則只會寫入左前色彩緩衝區。
GL_AUXi
只寫入輔助色彩緩衝區 i ; i 介於 0 和 GL_AUX_BUFFERS - 1 之間。 (GL_AUX_BUFFERS不是上限;使用 glGet 查詢可用的輔助緩衝區數目。)

單一緩衝內容的預設值為GL_FRONT,而雙緩衝內容則為GL_BACK。

傳回值

此函式不會傳回值。

錯誤碼

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

名稱 意義
GL_INVALID_ENUM
mode 不是可接受的值。
GL_INVALID_OPERATION
模式 所表示 的緩衝區都不存在。
GL_INVALID_OPERATION
函式是在 對 glBegin 的呼叫和 glEnd的對應呼叫之間呼叫。

備註

當色彩寫入 framebuffer 時,會寫入 glDrawBuffer所指定的色彩緩衝區。

如果選取一個以上的色彩緩衝區進行繪圖,則混合或邏輯作業會針對每個色彩緩衝區進行計算和套用,並在每個緩衝區中產生不同的結果。

Monoscopic 內容只包含左緩衝區,而身歷聲內容則同時包含左右緩衝區。 同樣地,單一緩衝內容只包含前端緩衝區,而雙緩衝內容則同時包含前端和後端緩衝區。 內容會在 OpenGL 初始化中選取。

GL_AUX i = GL_AUX0 + i一律是這種情況。

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

具有引數的glGet GL_DRAW_BUFFER

具有引數的glGet GL_AUX_BUFFERS

規格需求

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

另請參閱

glBegin

glBlendFunc

glColorMask

glEnd

glGet

glIndexMask

glLogicOp

glReadBuffer