glDrawBuffer 関数

glDrawBuffer 関数は、描画先のカラー バッファーを指定します。

構文

void WINAPI glDrawBuffer(
   GLenum mode
);

パラメーター

mode

次の許容可能なシンボリック定数を使用して、最大 4 つのカラー バッファーを描画するように指定します。

説明
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 の対応する呼び出しの間で呼び出されました。

解説

色がフレームバッファーに書き込まれると、 glDrawBuffer で指定されたカラー バッファーに書き込まれます。

描画に複数のカラー バッファーが選択されている場合、ブレンドまたは論理演算はカラー バッファーごとに個別に計算および適用され、各バッファーで異なる結果が生成される可能性があります。

単視コンテキストには左バッファーのみが含まれており、立体コンテキストには左バッファーと右バッファーの両方が含まれます。 同様に、単一バッファーのコンテキストにはフロント バッファーのみが含まれます。また、ダブル バッファーのコンテキストには、フロント バッファーとバック バッファーの両方が含まれます。 コンテキストは、OpenGL の初期化時に選択されます。

i = GL_AUX0 + i をGL_AUXする場合は常 です。

次の関数は 、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