1

Windows フォーム (設計時) に簡単にドロップでき、OpenGL 表示リスト (実行時) を割り当てることができる OpenGL ビューアー コントロールを作成しました。

ビューアー コントロールは、ナビゲーション、表示オプション (背景色など) などを処理します。また、必要に応じて、レンダリングとデバイス コンテキストの作成と破棄も行います。

明らかに、各ビューア コントロール インスタンスには、画像が描画される「ウィンドウ」という独自のデバイス コンテキストがあります。

質問:

  • 各ビューア コントロール インスタンスはレンダリング コンテキストをどのように管理する必要がありますか?
  • 各インスタンスは独自のコンテキストを持つべきですか、それともグローバル レンダリング コンテキストを共有するべきですか?

これが WGL フォントの作成 ( wglUseFontBitmaps および wglUseFontOutlines ) にどのように影響するか、特に懸念しています。これには、レンダリング コンテキスト (現在のコンテキストが何であれ) とデバイス コンテキストが必要です。

  • レンダリングとデバイス コンテキストの組み合わせごとに WGL フォントを作成する必要がありますか?

おそらく私のアプローチには欠陥があります。

4

1 に答える 1

1

私は、制御アプローチごとのコンテキストを使用します。拡張機能はコンテキストベースであるため、作成する拡張機能ごとにバインドする必要があることを覚えておく必要があります(これを処理するには、glew_MXを使用します)。

また、コンテキスト間でディスプレイリストを共有でき(同じGPU上にある限り)、wglフォントを作成するとディスプレイリストが作成されるため、問題はありません。

于 2010-04-14T15:55:49.933 に答える