次の方法で共有


wglCreateLayerContext 関数 (wingdi.h)

wglCreateLayerContext 関数は、デバイス コンテキストで指定されたレイヤー プレーンに描画するための新しい OpenGL レンダリング コンテキストを作成します。

構文

HGLRC wglCreateLayerContext(
  HDC unnamedParam1,
  int unnamedParam2
);

パラメーター

unnamedParam1

新しいレンダリング コンテキストのデバイス コンテキストを指定します。

unnamedParam2

レンダリング コンテキストをバインドするレイヤー プレーンを指定します。 値 0 は、メイン平面を識別します。 iLayerPlane の正の値はオーバーレイプレーンを識別します。ここで、1 はメイン平面上の最初のオーバーレイプレーン、2 は最初のオーバーレイプレーン上の 2 番目のオーバーレイプレーンなどです。 負の値を指定すると、アンダーレイ平面が識別されます。ここで、1 はメイン平面の下の最初のアンダーレイ平面、2 は最初のアンダーレイ平面の下の 2 番目のアンダーレイ平面などです。 オーバーレイ面とアンダーレイ 平面の数は、PIXELFORMATDESCRIPTOR 構造体の bReserved メンバーで指定されます。

戻り値

関数が成功した場合、戻り値は OpenGL レンダリング コンテキストへのハンドルです。

関数が失敗した場合は、返される値は NULL です。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

レンダリング コンテキストは、すべての OpenGL コマンドが渡されるポートです。 OpenGL 呼び出しを行うすべてのスレッドには、現在アクティブなレンダリング コンテキストが 1 つ必要です。 レンダリング コンテキストは、デバイス コンテキストと同じではありません。レンダリング コンテキストには OpenGL に固有の情報が含まれますが、デバイス コンテキストには GDI に固有の情報が含まれます。

レンダリング コンテキストを作成する前に、 SetPixelFormat 関数を使用してデバイス コンテキストのピクセル形式を設定します。 同じピクセル形式でのみ、ウィンドウの指定されたレイヤー プレーンでレンダリング コンテキストを使用できます。

複数のスレッドを使用する OpenGL アプリケーションでは、レンダリング コンテキストを作成し、スレッドの現在のレンダリング コンテキストとして選択し、指定したスレッドに対して OpenGL 呼び出しを行います。 スレッドのレンダリング コンテキストが終了したら、 wglDeleteContext 関数を呼び出します。

次のコード例は 、wglCreateLayerContext の使用方法を示しています。

// The following code fragment shows how to render to overlay 1  
// This example assumes that the pixel format of hdc includes   
// overlay plane 1  
 
HDC hdc; 
HGLRC; 
 
// create a rendering context for overlay plane 1  
hglrc = wglCreateLayerContext(hdc, 1); 
 
// make it the calling thread's current rendering context  
wglMakeCurrent(hdc, hglrc); 
 
// call OpenGL functions here. . .  
 
// when the rendering context is no longer needed. . .  
 
// make the rendering context not current  
wglMakeCurrent(NULL, NULL); 
 
// delete the rendering context  
wglDeleteContext(hglrc);

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wingdi.h
Library Opengl32.lib
[DLL] Opengl32.dll

関連項目

Windows 上の OpenGL

PIXELFORMATDESCRIPTOR

SetPixelFormat

WGL 関数

wglCreateContext

wglDeleteContext

wglGetCurrentContext

wglGetCurrentDC

wglMakeCurrent