Question

Je vais avoir du mal à envelopper ma tête autour de la façon dont ces travaux. Tout d'abord, dans un jeu 2d la matrice de projection doit être mis en place en ortho avec la gauche, à droite, en haut, en bas de la fenêtre correspondant, à droite? Mais lorsque la fenêtre est redimensionnée, devrais-je changer juste glViewport, pas la matrice de projection? Et comment puis-je garder le ratio d'aspect?

Quelqu'un pourrait-il expliquer les objectifs de ces deux choses, dans le jeu 2d orthographiques, afin que je puisse le comprendre mieux?

Il se sent comme OpenGL est en train de faire beaucoup de choses inutiles dans une configuration 2d. La pixellisation et le calcul des fragments lorsque les images sont déjà là, la conversion des coordonnées de sommet à NDC être convertie à ce qu'ils déjà où par glViewport.

En outre, comment se fait dans l'héritage libre OpenGL, nous devons faire nos propres matrices, mais pas nos propres calculs qui fait glViewport?

Merci.

Était-ce utile?

La solution

Ne confondez pas ce que vous entrez à GL et ce qu'il transmet à.

les paramètres que vous utilisez pour calculer la matrice Ortho sont celles qui correspondent à votre entrée . La sortie d'une matrice de projection est toujours le [-1: 1] x [1: 1] x.: Cube [-1 1]

la fenêtre se traduit par ce cube à vos coordonnées cibles rendre. Alors, qui est généralement ce que vous voulez changer pour correspondre à votre nouvelle taille de la fenêtre (bien que et le framebuffer lui-même).

Oui, GL fait beaucoup de choses inutiles pour un chemin de rendu 2D. Il est une API 3D après tout ...

Je vais terminer en disant que vous n'avez pas à matrices de construction pour faire des transformations 2D, tant que votre sommet sorties shaders dans le cube je l'ai mentionné plus tôt. Si vous voulez écrire le coin supérieur droit de la fenêtre, vous pouvez toujours passer vos sommets directement comme (0,0) (0,1) (1,0) (1,1) et simplement la sortie que.

Autres conseils

Je ne sais pas quelle langue que vous utilisez OpenGL, mais si vous êtes à la recherche C ++ ce site, http: // nehe.gamedev.net/ couvre à peu près tout et a des tutoriels d'aussi simple que « Bonjour tout le monde » tout le chemin jusqu'à des jeux de base et les effets 3D.

it helps

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top