OpenGL: GL_QUADS ne pas dessiner un carré
Je suis en train de dessiner un carré sur l'écran, mais il est clairement dessine un rectangle.
C'est mon render code:
glClear(GL_COLOR_BUFFER_BIT);
glTranslatef(0,0,-0.1);
glBegin(GL_QUADS);
glVertex3f(0,0,0);
glVertex3f(1,0,0);
glVertex3f(1,1,0);
glVertex3f(0,1,0);
glEnd();
SDL_GL_SwapBuffers();
Et OpenGL code d'Initialisation:
glClearColor(0,0,0,0.6f);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(30,640.0/480.0,.3f,200.0);
glMatrixMode(GL_MODELVIEW);
Pourquoi est-ce arrivé?
peut-être que vos écrans horizontaux dpi ne correspond pas à la verticale dpi ?
La résolution de l'écran n'affecterait pas sa capture d'écran.
Je ne sais pas ce que j'ai fait mais maintenant c'est le dessin de la place normalement. Je n'ai pas changer quoi que ce soit, donc je ne sais pas quel était le problème. Juste l'univers de la pêche à la traîne-moi, je suppose 🙁
Est votre taille de la fenêtre de 640x480 ?
oui
La résolution de l'écran n'affecterait pas sa capture d'écran.
Je ne sais pas ce que j'ai fait mais maintenant c'est le dessin de la place normalement. Je n'ai pas changer quoi que ce soit, donc je ne sais pas quel était le problème. Juste l'univers de la pêche à la traîne-moi, je suppose 🙁
Est votre taille de la fenêtre de 640x480 ?
oui
OriginalL'auteur Mertcan Ekiz | 2012-08-15
Vous devez vous connecter pour publier un commentaire.
Je ne vois pas de n'importe où dans votre code où vous avez mis en place le glViewport. Je vais plutôt écrire quelque chose comme ceci dans votre méthode init:
également de vérifier la deuxième Nehe tutoriel il va vous aider à démarrer avec OpenGL pour des trucs de base, comme le dessin de primitives telles que le triangle, le carré, etc...
Ok je viens de lire que lorsqu'un contexte OpenGL est d'abord attaché à une fenêtre, la largeur et la hauteur sont définies les dimensions de la fenêtre de sorte qu'il peut ne pas être nécessaire. Comme pour le glViewport commande il définit une transformation d'une normalisation des coordonnées de périphérique (c'est-à post-matrice de projection de la coordination avec la perspective de diviser appliquée) à la fenêtre coordonnées
OriginalL'auteur tiguero
Essayez d'utiliser
gluOrtho2D
pour générer un correct projection orthogonale de la matrice, dans votre casgluOrtho2D(0,640,0,480)
, c'est en supposant que vous voulez une place dans 2D et pas de la 3D.Bien sûr, ce changement de votre système de coordonnées de (0,1),(0,1) à (0,640),(0,480).
OriginalL'auteur Necrolis