2024/02/29(木) [n年前の日記]
#3 [prog] GLFW利用時にビットマップフォントを描画したい
C言語 + OpenGL + GLFW (GLFW3)利用時に、ビットマップフォントを描画したい。とりあえず今回は、等幅ビットマップフォント、ASCIIコード 0x20 - 0x7f が描画できれば十分なのだけど…。
せっかくだから、ヘッダーファイル(.h) を1つ include すれば使える状態にしてみたい。ということで書いてみた。一応 github に置いておきます。
_mieki256/glbitmfont: Use glbitmap() to draw bitmap fonts in OpenGL. It can be used by simply including a single header file.
_glbitmfont.h をダウンロードして、#include "glbitmfont.h" を記述すれば、ビットマップフォントを描画する glBitmapFontDrawString(char *str, int kind) という関数が使えるようになる。フォント種類は5種類の中から選べるようにしておいた。
_glbitmfont_sample.c が使用サンプル。最後のほうで「// draw text」と書いてあるあたりでビットマップフォントを描画している。
ただ、今回描画に使った glBitmap() は、OpenGL 3.x から非推奨になってしまったらしいので…。OpenGL 1.x を使って何かをしたい時ぐらいしか、今回書いたソレは使えない気もする…。
せっかくだから、ヘッダーファイル(.h) を1つ include すれば使える状態にしてみたい。ということで書いてみた。一応 github に置いておきます。
_mieki256/glbitmfont: Use glbitmap() to draw bitmap fonts in OpenGL. It can be used by simply including a single header file.
_glbitmfont.h をダウンロードして、#include "glbitmfont.h" を記述すれば、ビットマップフォントを描画する glBitmapFontDrawString(char *str, int kind) という関数が使えるようになる。フォント種類は5種類の中から選べるようにしておいた。
_glbitmfont_sample.c が使用サンプル。最後のほうで「// draw text」と書いてあるあたりでビットマップフォントを描画している。
ただ、今回描画に使った glBitmap() は、OpenGL 3.x から非推奨になってしまったらしいので…。OpenGL 1.x を使って何かをしたい時ぐらいしか、今回書いたソレは使えない気もする…。
◎ ディスプレイリストを使ったほうがいいのかもしれない :
以下のページで紹介されているソースを眺めたところ、こういった処理をするならディスプレイリストなるものを利用するのが一般的らしいなと…。
_グラフィックス科学演習 / Graphics Science Seminar
ただ、そのディスプレイリストも、OpenGL 3.x で非推奨になってる模様。
_グラフィックス科学演習 / Graphics Science Seminar
ただ、そのディスプレイリストも、OpenGL 3.x で非推奨になってる模様。
[ ツッコむ ]
以上です。