2008年9月21日日曜日

GL_BITMAPなテクスチャは不可

先日の件の
GetGlyphOutlineで取得したグリフのビットマップ(アンチエイリアス無しのやつ)を
そのまま使ってテクスチャにしてみようと思って
いろいろいじってみていたのだが、

glTexImage2D( GL_TEXTURE2D, 0, GL_ALPHA, 0, width, height, GL_ALPHA, GL_BITMAP, texels );

ってかんじで、ビットマップなテクスチャを作成しようとしたら、
エラー(GL_INVALID_ENUM)になった。
どうやら、最後から2番目の引数"type"にGL_BITMAPを指定できないらしい。

公式ホームページの関数リファレンスのページをみると、
引数"type"に指定可能な定数のリストに、GL_BITMAPが含まれているのだが、
関数リファレンスのページの最後のほうの「ERROR」項目に、
"GL_INVALID_ENUM is generated if type is GL_BITMAP and format is not GL_COLOR_INDEX."
と書いてある。

・・・つまり、
引数"type"にGL_BITMAPとGL_COLOR_INDEXは渡せるけど、
"format"がGL_COLOR_INDEXでないとエラーになるぞ、と。

ビットマップなテクスチャならメモリサイズも小さくて済むかなー、
とか目論んでいたのだが、無理なようだ。

0 件のコメント: