マルチテクスチャでのglTexCoord()
マルチテクスチャでは、glActiveTextureでテクスチャユニットを切り替えながら各種パラメタを設定する。個々の設定に使う関数は、シングルテクスチャの時と同じ。ただし、テクスチャ座標の指定は、普段のglTexCoordではなく、glMultiTexCoordを使いましょう、って本には書いてある。
でも、実際には、glTexCoord使ってもなんとなく動く。
私は、今まで、glTexCoordは、他のテクスチャ関係の関数と同様に、glActiveTextureで指定されたテクスチャユニットに対してテクスチャ座標を設定するのだと思っていたのよ。それで、テクスチャ座標というのは glBegin ~ glEndの中で、頂点ごとに何回も設定するので、いちいち glActivateTextureを呼ぶと大変だから、glMultiTexCoordを作ったんだと。
でも、違った。
glTexCoordは、glActiveTextureの設定とは無関係に、常に GL_TEXTURE0 に対するテクスチャ座標を設定するのだそうだ。
この誤解が原因で3日潰れました…。思い込みって怖い。
« らくらく手書き入力って実はすごかった | トップページ | Second Lifeと新常用漢字 »


コメント