横向きで(常に)実行され、描画にOpenGLを使用するiOSアプリがあります。drawメソッドに次のコードがあります。
GLfloat width = self.frame.size.width; // 480
GLfloat height = self.frame.size.height; // 320
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrthof(-width / 2, width / 2, -height / 2, height / 2, -1.0f, 1.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(160.0f, 240.0f, 0.0f);
glRotatef(-90.0f, 0.0f, 0.0f, 1.0f);
glScalef(1.0f, -1.0f, 1.0f);
glMatrixMode(GL_PROJECTION);
glTranslatef(self.player.x, self.player.y, 0.0f);
ここself.player.x
で、およびはからまでの範囲self.player.y
のGLfloat
変数-3.0f
です3.0f
。
しかし、私が見るのは青い十字だけです。
私はglOrthof
OpenGLに正しいアスペクト比を使用させるために使用します。呼び出しをコメントするglOrthof
と、次の結果が得られます(水色の線は長方形ではなく正方形を形成する必要があります)。
幅と高さの交換から、glOrthof
呼び出しのパラメーターの変更まで、すべてを試しましたが、何も役に立ちませんでした。誰かが私を助けてくれますか、または私が間違ったことを説明できますか?前もって感謝します。:)