2011-12-09 4 views
3

は、OpenGL ES2.0でiOSを使用したOpenGL ES 2.0でのシームレスなキューブマップ?キューブマップサンプラーを実装する際

glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS); 

の等価はありますか? iPad上でテスト用のアプリを開発しています。球をキューブマッピングしています。キューブマップの各面の間に縫い目ができています。

また、ES2.0のglEnableがない場合は、縫い目を取り除く最も良い方法は何ですか?

+0

私は解決策を見つけました。両方の方向で "CLAMP_TO_EDGE"を設定するだけで動作します! glTexParameteri(GL_TEXTURE_CUBE_MAP、GL_TEXTURE_WRAP_S、GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_CUBE_MAP、GL_TEXTURE_WRAP_T、GL_CLAMP_TO_EDGE); –

答えて

4

OpenGL ESには、デスクトップGLのARB_seamless_cube_map機能に相当するものはありません。

いいえ、glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S/T, GL_CLAMP_TO_EDGE)はカウントされません。シームレスなキューブマッピングは、異なる顔からのテクセルを一緒にブレンドできることを意味します。エッジにクランプするということは、顔のエッジにクランプすることです。あなたがしたことは、継ぎ目を目立たなくすることです。まだです。です。

+0

これはPowerVR上でOpenGL ES 2.0を使用しているAndroidでは正確ではないようです - クランプなしでGL_TEXTURE_CUBE_MAPを使用し、継ぎ目がなく、テクスチャ間にブレンドがありました。ドライバー固有ですか? –

+0

@Kevin:この仕様では画像間でブレンドすることはできません。そうであれば、それは仕様外の動作です。明らかに歓迎されていませんが、スペックには違います。 –

+0

キューブマップ自体が見えましたか?ほとんどの場合、あなたはとにかく縫い目はありません – gman

関連する問題