参考:http://www.cocos2d-iphone.org/forum/topic/2319
現象:テクスチャを貼ったのに黒くしかならない。
対策1:
テクスチャの設定で以下のようにする。
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
これでも解決しましたが、第3引数に GL_REPEAT を指定したいときもあるよね、ということで米国の掲示板を探してみました。
対策2:
テクスチャに使用する元画像(自分の場合はPNG)のサイズを power of two にする。
power of two は日本語にすると「2のべき乗」。つまり、1, 2, 4, 8, 16, 32, 64,…といった数値のことです。
実際に128x128に調整したところ、GL_REPEAT でも正しく表示されました。縦と横を異なる数値に(128x64など)してもいけるのかどうかは試していないので不明です。
今回の場合は iOS の ES ですが、他のバージョンやプラットフォームでは違うかもしれませんせんせーん。
0 件のコメント:
コメントを投稿