1

サードパーティ プログラム内で C++ のプラグインを開発しており、OpenGL でウィンドウを表示する必要があります。Win32 で直接プログラムしたい (つまり、MFC や他のラッパーを使用しない)。

NeHes Win32 チュートリアルをダウンロードしてコンパイルし、自分のマシンで正常に実行しました。

ただし、これはループして PeekMessage を呼び出し、メッセージがあれば TranslateMessage と DispatchMessage を呼び出し、メッセージがなければ OpenGL を再描画するメイン プログラムです。

Win32 OpenGL ウィンドウを「スポーンオフ」してから、サードパーティ プログラムに制御を戻したい:

void DisplayOpenGLWindow_ButtonPressed() {
 CreateWindowEx(...);
 InitOpenGL(...);
 return;
}

しかし、新しいウィンドウで OpenGL シーンを再描画するにはどうすればよいですか? コールバック関数内に OpenGL を再描画する呼び出しを追加しようとしました。

case WM_PAINT:
{
   DrawGLScene();   
   return 0;
}

しかし、これはうまくいきません。クリアカラーが黒でも窓は真っ白。ウィンドウのサイズ変更と移動は役に立ちません。

4

1 に答える 1

0

答えは非常に大きいので、代わりにいくつかのチュートリアルを紹介します:)

リンク:

Nehe は主に Win32 API を使用するため、代わりに MFC チュートリアル/記事を探してください。

もう 1 つ: 最新の opengl バージョン 3 以降を試してみてください。

于 2013-09-20T14:05:56.550 に答える