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