キュープ環境マップと格闘
OpenGLにポリゴンを読み込んでいじくる、ということができました。とりあえず、Cgで法線方向に色だしてるんで虹色うさぎができました。
次です。背景が寂しいのでCubeMapを実装してみる。これが結構むずい。とりあえず、前のようになぞのOpenGLの関数群を書き出してみる。
- glCompressedTexImage2D
二次元の圧縮された画像を読み込むらしいけど、なんおために圧縮しなければならないのか。
- glTexParameteri(GLenum target, GLenum pname, GLint param)
引数がいろいろ種類があってややこしい感じ。テクスチャマッピングのパラメータ設定。
一つめの引数はターゲット。ここではGL_TEXTURE_CUBE_MAPを指定する。
二つ目の引数で、どの場合の補完方法を指定?
GL_TEXTURE_MAG_FILTER テクスチャが拡大されているときの補完方法
GL_TEXTURE_MIN_FILTER テクスチャが縮小差れているときの補完方法
GL_TEXTURE_WRAP_S テクスチャ座標sのラップパラメータを指定。ここで、S座標とT座標っていうのは、テクスチャ座標の事
GL_TEXTURE_WRAP_T
三つ目の引数で、補間方法を指定。これは二つ目の引数によって変わってくる。
なるほど。テクスチャマッピングって引数がいっぱいあってめちゃくちゃややこしい。
思うに、glTexImage2Dでいいはず。なぜなら、使う画像はDDSじゃないから。
- glBindTexture
- glTexEnvi
テクスチャの色と下地の組み合わせ方。GL_TEXTURE_ENV_MODEでGL_REPLACEを指定しているので、色が完全に置き換わっている。
うーん、なんか頑張ってやってみたらできたぞ…どうやらglScalefっていうのがあやしいっぽいな…。でもない!なんでできなかったんだか結局わからないけど、まぁいいか!ってことでw