0

GIMP で画像ファイルを描画し、.c ファイルとして保存しました。次に、OpenGL コードで次のコードを使用して、画像を画面に読み込みました。

glPixelStorei(GL_UNPACK_ALIGNMENT, 1);

glRasterPos2i(x_disp, 0);
glDrawPixels(80, 80, GL_RGB, GL_UNSIGNED_BYTE, gimp_image.pixel_data);

ただし、読み込まれた画像は 180 度上下が反転して表示されます。おそらくglPixelStoreまたは他のOpenGL関数を使用して、GIMPと同じ向きで、上を上にして左側を左側にして、画像をレンダリングできるように、OpenGLで提供できるオプションがあるかどうか疑問に思いますピクセルをアンパックする方法を指定するために呼び出しますか?

4

1 に答える 1

2

OpenGL は画像データを左下隅に配置することを想定していますが、ほとんどの画像操作プログラムは画像データを左上隅に配置します。

glDrawPixels の代わりにテクスチャを使用すると、テクスチャ座標を反転することができます。とにかく、glDrawPixels は非常に遅い CPU サイクルの吸盤であり、OpenGL-3 以降では削除されています。使用しないでください。

于 2011-11-12T20:37:40.100 に答える