私は非常に多くのチュートリアルを経験し、OpenGL でいくつかの小さなアプリも実装しました。それでも、OpenGL 座標系から Android ビュー座標系へのマッピングについて混乱しています。テクスチャを全画面表示しようとしたところ、問題が発生しました。ヒット&トライアルの方法で何とか全画面表示できたのですが、疑問が多くてなかなか進めませんでした。
OpenGL 座標系では、左下 (原点) から始まりますが、デバイスでは左上が原点です。物事がデバイスに正しくマッピングされる方法。
OpenGL では、-1 から 1 までの頂点範囲を指定します。これらの範囲が、0 から幅と高さの範囲でデバイスにマップされる方法。
頂点は、デバイス座標とまったく同じ方法でマップできます。同様に、0,100 の頂点は 0,100 のデバイス座標にマップされます。
テクスチャをフルスクリーンで表示しようとしているときに、いくつかのブログに従ってコードを変更し、機能しました。変更点は次のとおりです。
glOrtho(0, width, height, 0, -1, 1); from glOrtho(0, width, 0, height, -1, 1);
& vertices[] = {
0, 0,
width, 0,
width, height,
0, height
};
from {-1,-1,
1,-1,
-1,1,
1,1}
座標マッピングを理解するのを手伝ってください。