質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

1回答

3859閲覧

openGLで表示した画像がおかしい

albacrow

総合スコア31

OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2015/10/02 19:54

openglで画像を描画しようとしているのですが、画像の一部がぼけたり透明部分との境がおかしくなったりと困っています。
画像で心当たりがあれば教えていただけないでしょうか。

使用画像
イメージ説明
出力
イメージ説明

テクスチャ生成
glEnable( GL_TEXTURE_2D );

glGenTextures(1, &texture); glBindTexture( GL_TEXTURE_2D, texture ); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); gluBuild2DMipmaps(GL_TEXTURE_2D,GL_RGBA,img->sizeX,img->sizeY,GL_RGBA,GL_UNSIGNED_BYTE,img->data); glBindTexture( GL_TEXTURE_2D, 0 ); glDisable( GL_TEXTURE_2D );

描画
glEnable( GL_TEXTURE_2D );
glBindTexture( GL_TEXTURE_2D, texture );

glEnable( GL_ALPHA_TEST ); glBegin( GL_QUADS ); glColor4f( 1, 1, 1, 1 ); glTexCoord2f( u0, v0 );glVertex2d( x1, y2 ); glTexCoord2f( u0, v1 );glVertex2d( x1, y1 ); glTexCoord2f( u1, v1 );glVertex2d( x2, y1 ); glTexCoord2f( u1, v0 );glVertex2d( x2, y2 ); glEnd(); glDisable( GL_ALPHA_TEST ); glDisable( GL_TEXTURE_2D );

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

見た感じ、データの並び順が設定に合っていないように見えます。
まずはこのブログ記事を読んでみては如何でしょうか。

投稿2015/10/02 21:57

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

albacrow

2015/10/03 16:02

回答ありがとうございます。 データの並び順に付いては、画像読み込みの際に自分で変えているので問題はないと考えています。 直したいところとしては、画像の右が赤く、左が青くなっているところですが、心当たりはありませんでしょうか?
退会済みユーザー

退会済みユーザー

2015/10/03 20:32 編集

自分が気になっているのは、ビッグエンディアンとリトルエンディアンを間違って設定しているのではないか…と思っていたもので前述のブログ記事を引き合いにしたのですが、そこが間違ってなければ、ちょっと思い当たらないです。 OpenGLのWikiに下記のようなページがあるので、ありがちなミスがないか確認してみた方が良いかもしれません。 https://www.opengl.org/wiki/Common_Mistakes もしくはglGetErrorで状態エラーが出ていないか確認するのも、地味な作業ですが何もないよりはマシです。 https://www.opengl.org/wiki/Common_Mistakes#glGetError
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問