フォントとテキスト (OpenGL)
Windows での Microsoft による OpenGL の実装では、単一バッファーの OpenGL ウィンドウで GDI グラフィックスがサポートされています。 ダブル バッファリングされた OpenGL ウィンドウでは、GDI グラフィックスはサポートされていません。 したがって、標準の GDI フォントとテキスト関数のみを呼び出して、単一バッファーの OpenGL ウィンドウにテキストを描画できます。これらの関数を呼び出して、ダブルバッファーの OpenGL ウィンドウにテキストを描画することはできません。
ダブル バッファーウィンドウ内のテキストに対するこの制限には回避策があります。文字のビットマップ 画像用の OpenGL 表示リストをビルドし、それらの表示リストを実行して文字を描画します。 このプロセスには、主に次の 3 つの手順があります。
- デバイス コンテキストのフォントを選択し、必要に応じてフォントのプロパティを設定します。
- デバイス コンテキストのフォントのグリフに基づいてビットマップ表示リストのセットを作成します。アプリケーションが描画するグリフごとに 1 つの表示リストを作成します。
- これらのビットマップ表示リストを使用して、文字列内の各グリフを描画します。
表示リストを作成するには、wglUseFontBitmaps を呼び出し、wglUseFontOutlines関数をします。 これらの表示リストを使用して文字列内の文字を描画するには、glCallLists呼び出します。
ローカライズが容易で、リソースをあまり使用しないアプリケーションを作成するには、これらのグリフ イメージ表示リストの作成と保存を慎重に管理する必要があります。 英語とは異なり、多くの言語には、文字コードの範囲が比較的大きい値のセットを持つアルファベットがあります。
関連トピック