次の方法で共有


LAYERPLANEDESCRIPTOR 構造体 (wingdi.h)

LAYERPLANEDESCRIPTOR 構造体は、描画サーフェスのピクセル形式を表します。

構文

typedef struct tagLAYERPLANEDESCRIPTOR {
  WORD     nSize;
  WORD     nVersion;
  DWORD    dwFlags;
  BYTE     iPixelType;
  BYTE     cColorBits;
  BYTE     cRedBits;
  BYTE     cRedShift;
  BYTE     cGreenBits;
  BYTE     cGreenShift;
  BYTE     cBlueBits;
  BYTE     cBlueShift;
  BYTE     cAlphaBits;
  BYTE     cAlphaShift;
  BYTE     cAccumBits;
  BYTE     cAccumRedBits;
  BYTE     cAccumGreenBits;
  BYTE     cAccumBlueBits;
  BYTE     cAccumAlphaBits;
  BYTE     cDepthBits;
  BYTE     cStencilBits;
  BYTE     cAuxBuffers;
  BYTE     iLayerPlane;
  BYTE     bReserved;
  COLORREF crTransparent;
} LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR;

メンバー

nSize

このデータ構造のサイズを指定します。 この値を sizeof(LAYERPLANEDESCRIPTOR) に設定します。

nVersion

このデータ構造のバージョンを指定します。 この値を 1 に設定します。

dwFlags

レイヤー プレーンのプロパティを指定するビット フラグのセット。 プロパティは一般に相互に排他的ではありません。ビット フラグの任意の組み合わせを設定できます。例外が示されています。 次のビット フラグ定数が定義されています。

意味
LPD_SUPPORT_OPENGL レイヤー プレーンは OpenGL 描画をサポートしています。
LPD_SUPPORT_GDI レイヤー プレーンは GDI 描画をサポートしています。 OpenGL の現在の実装では、このフラグはサポートされていません。
LPD_DOUBLEBUFFER レイヤー プレーンは二重バッファーに格納されます。 レイヤー プレーンは、メイン プレーンが単一バッファーである場合でも、その逆の場合でも、ダブル バッファリングできます。
LPD_STEREO レイヤープレーンは立体的です。 レイヤープレーンは、メイン平面が単視である場合でも立体的であり、その逆も可能です。
LPD_SWAP_EXCHANGE ダブル バッファーレイヤー プレーンでは、カラー バッファーをスワップすると、フロント バッファーとバック バッファーの内容が交換されます。 その後、バック バッファーには、スワップ前のフロント バッファーの内容が格納されます。 このフラグはヒントのみであり、ドライバーによって提供されない場合があります。
LPD_SWAP_COPY ダブル バッファーレイヤー プレーンでは、カラー バッファーをスワップすると、バック バッファーの内容がフロント バッファーにコピーされます。 スワップは、バック バッファーの内容には影響しません。 このフラグはヒントのみであり、ドライバーによって提供されない場合があります。
LPD_TRANSPARENT この構造体の crTransparent メンバーには、基になるレイヤーがこのレイヤーを表示できるようにする透明な色またはインデックス値が含まれています。 最小番号のアンダーレイ レイヤーを除くすべてのレイヤー プレーンには、透明な色またはインデックスがあります。
LPD_SHARE_DEPTH レイヤー プレーンは、深度バッファーを メイン プレーンと共有します。
LPD_SHARE_STENCIL レイヤー プレーンは、ステンシル バッファーをメインプレーンと共有します。
LPD_SHARE_ACCUM レイヤー プレーンは、蓄積バッファーを メイン プレーンと共有します。

iPixelType

ピクセル データの種類を指定します。 次の型が定義されています。

意味
LPD_TYPE_RGBA RGBA ピクセル。 各ピクセルには、赤、緑、青、アルファの 4 つのコンポーネントがあります。
LPD_TYPE_COLORINDEX 色インデックスのピクセル。 各ピクセルは、色インデックス値を使用します。

cColorBits

各カラー バッファー内のカラー ビットプレーンの数を指定します。 RGBA ピクセル タイプの場合、アルファ ビットプレーンを除くカラー バッファーのサイズです。 色インデックス ピクセルの場合は、色インデックス バッファーのサイズです。

cRedBits

各 RGBA カラー バッファー内の赤いビットプレーンの数を指定します。

cRedShift

各 RGBA カラー バッファー内の赤いビットプレーンのシフト数を指定します。

cGreenBits

各 RGBA カラー バッファー内の緑色のビットプレーンの数を指定します。

cGreenShift

各 RGBA カラー バッファーの緑色のビットプレーンのシフト数を指定します。

cBlueBits

各 RGBA カラー バッファー内の青いビットプレーンの数を指定します。

cBlueShift

各 RGBA カラー バッファーの青いビットプレーンのシフト数を指定します。

cAlphaBits

各 RGBA カラー バッファー内のアルファ ビットプレーンの数を指定します。 アルファ ビットプレーンはサポートされていません。

cAlphaShift

各 RGBA カラー バッファー内のアルファ ビットプレーンのシフト数を指定します。 アルファ ビットプレーンはサポートされていません。

cAccumBits

累積バッファー内のビットプレーンの合計数を指定します。

cAccumRedBits

累積バッファー内の赤いビットプレーンの数を指定します。

cAccumGreenBits

累積バッファー内の緑色のビットプレーンの数を指定します。

cAccumBlueBits

累積バッファー内の青いビットプレーンの数を指定します。

cAccumAlphaBits

累積バッファー内のアルファ ビットプレーンの数を指定します。

cDepthBits

深度 (z 軸) バッファーの深さを指定します。

cStencilBits

ステンシル バッファーの深さを指定します。

cAuxBuffers

補助バッファーの数を指定します。 補助バッファーはサポートされていません。

iLayerPlane

bReserved

使用されていません。 ゼロを指定してください。

crTransparent

LPD_TRANSPARENT フラグが設定されている場合は、透明色またはインデックス値を指定します。 通常、値は 0 です。

注釈

前述のように、特定のレイヤー プレーン プロパティは現在の実装ではサポートされていないことに注意してください。 実装は、OpenGL の Microsoft GDI ソフトウェア実装です。 OpenGL の一部を強化するハードウェア製造元は、一般的な実装でサポートされていない一部のレイヤー プレーン プロパティをサポートしている場合があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header wingdi.h

こちらもご覧ください

Windows 上の OpenGL

PIXELFORMATDESCRIPTOR

構造体

wglCreateLayerContext

wglDescribeLayerPlane

wglGetLayerPaletteEntries

wglRealizeLayerPalette

wglSetLayerPaletteEntries

wglSwapLayerBuffers