Le modèle OpenGL de XCode semble tricher pour résoudre ce problème de fenêtre d'affichage "étiré" que j'ai essayé de comprendre depuis 3 heures. Dans le modèle iphone "OpenGL ES Application", le carré coloré qui rebondit sur l'écran n'est pas vraiment un carré!iPhone OpenGL Template triche?
ES1Renderer.m (le fichier ES2 ainsi)
static const GLfloat squareVertices[] = {
-0.5f, -0.33f,
0.5f, -0.33f,
-0.5f, 0.33f,
0.5f, 0.33f,
};
Mais il vient à la recherche place sur l'appareil/simulateur en raison de l'effet d'étirement/écrasement d'une fenêtre non carrée. J'ai essayé de le résoudre en jouant avec glFrustumf() mais cela ne semble pas changer le rapport d'aspect.
J'ai réussi à obtenir des choses bien (non étirées) quand j'ai alimenté glViewport() avec un widht: height de 1: 1. Mais cela ne semble pas être la réponse car cela compense le placement de la fenêtre.
Quelle est la bonne façon de corriger cet étirement et pourquoi XCode ne le fait pas de cette façon?