XCodeのOpenGLテンプレートは、私が過去3時間理解しようとしてきたこの「引き伸ばされた」ビューポートの問題を解決するために不正行為をしているようです。
iPhoneの「OpenGLESアプリケーション」テンプレートでは、画面上で上下にバウンドするカラフルな正方形は、実際にはまったく正方形ではありません。
ES1Renderer.m(ES2ファイルも)
static const GLfloat squareVertices[] = {
-0.5f, -0.33f,
0.5f, -0.33f,
-0.5f, 0.33f,
0.5f, 0.33f,
};
ただし、非正方形のビューポートの伸縮効果により、デバイス/シミュレーターでは正方形に見えます。glFrustumf()をいじって修正しようとしましたが、アスペクト比は変わらないようです。
glViewport()に1:1のwidht:heightを指定すると、見栄えが良くなります(引き伸ばされません)。しかし、ビューポートの配置がオフセットされるため、これは答えのようには見えません。
このストレッチを修正する正しい方法は何ですか?XCodeがそのように修正しないのはなぜですか?