頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


OpenGLでテクスチャの上下ひっくり返す

OpenGLなんだけどGLKitは使わない場合のお話。
GLKitを使うとテクスチャ設定だけでなくいろいろとラクなんだけど、ネット上で見つけられるOpenGLがらみのサンプルなんかはGLKitを使っていないのが多いのでGLKitを使わない場合でも記述できるに越したことはないよね。
GLKitを使わないでテクスチャの設定をしてみたところどうもおかしい。オブジェクトに貼付けられる画像が意図しないのになってる。

反転前の描画

↑こんな感じ。ぱっと見はわかんないだろうけど、GLKit使っていた時のと違うので気が付いたのよ。字が反転してたし。

GLKitを使わない場合のコードはここを参考にしてた。
OpenGL Tutorial for iOS: OpenGL ES 2.0 | Ray Wenderlich
というかそもそもOpenGLの勉強はこのチュートリアルから始めたんだっけな。
このチュートリアルのPart2にテクスチャを読み込んで設定する
- (GLuint)setupTexture:(NSString *)fileName
ってメソッドがあるんだ。リンク先のチュートリアルの内容だと関係ないんだろうけど、どうやらGLKitで作る場合と上下が反転してるみたい(というかGLKitでは反転させてくれてたんだろう)。座標の取り方で生じる問題だそうな。

そんなわけで修正しようとしたらこういう記事が
ios - In UIImage to Texture conversion, Texture is flipped vertically - Stack Overflow
この通りにすればこの通り。

反転後の描画

めでたし、めでたし。

<< Blenderで穴を開けるのはBooleanのDifference  TopPage  UIImageをOpenGLのテクスチャに使う >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/910-22492be7




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad