9
votes

OpenGL (es) - Quelle est la différence entre Frustum et ortho?

Lorsque j'utilise chacun d'eux avec les mêmes paramètres, la seule différence que je remarque est la fermeture de la "caméra" des objets. Quelle est la différence ici et qui est préférée pour un jeu principalement 2D?


3 Réponses :


1
votes

De manière générale, un troncum est utilisé pour des scènes 3D pour accueillir une projection de vue en perspective. Il représente la distance de chaque objet de la caméra ainsi que l'angle de visualisation afin de déterminer la taille et la position d'un objet à l'écran. Une projection orthographique prend simplement chaque objet et dessine une ligne droite de l'objet à un pixel à l'écran, ce qui ne fait qu'une scène plate. C'est une généralisation brute et il y a beaucoup à dire sur le sujet, mais pour un jeu 2D, vous voudrez utiliser une projection orthographique.


0 commentaires

33
votes

Je ne suis pas d'accord avec Leffelmania, bien que sa réponse soit déjà acceptée, j'aimerais expliquer à nouveau ce qu'est un tronc et quelles sont les différences entre les projections orthographiques et de perspective.

Un tronctume est une pyramide sans l'objet 3D en forme de dessus (dans la liaison définie par l'espace entre le plan ZNEAR et ZFAR).

Voir frustum

Le tronc est utilisé pour déterminer ce que la caméra peut voir. Tout ce qui est à l'intérieur ou se croisent avec la vue de la caméra-frustum doit être rendu, tout le reste peut être ignoré.

Parce qu'une tronc est une forme difficile à faire des vérifications d'intersection, souvent une transformation matricielle est construite de sorte que la tronc de vue soit transformée en un cube. Cette transformation matricielle est également appliquée à tous les objets de la scène afin que nous puissions maintenant faire un simple «intersectez-vous avec un chèque d'un cube. Ceci s'appelle le Vue canonique Frustum (See Plus d'infos ici )

maintenant sur la perspective vs projection orthographique. Dans la photo, vous voyez la caméra ou le centre de projection (COP). Dans une projection de perspective, le flic est près de l'avion proche. Les rayons de toutes les positions sur l'avion loin indiquent le flic. Là où ces rayons intersectent le plan proche (AKA Viewport), un pixel est coloré en fonction de la couleur de la plus proche de l'avion proche que le rayon a frappé. Une projection en perspective conduit à des points de disparition (multiples) et des objets plus éloignés de la caméra sont plus petits, les lignes parallèles au monde ne sont pas nécessairement parallèles sur l'image.

Dans une projection orthographique, le flic est infiniment éloigné, de sorte que les rayons sont presque parallèles les uns aux autres. Il n'y a pas de point de disparition, des objets plus distants ne sont pas dessinés des lignes plus petites et parallèles dans le monde sont parallèles sur la photo.


2 commentaires

Apparemment "d'une manière générale" et "généralisation brute" ne répondaient pas assez bien ma réponse. Nous sommes complètement d'accord, vous venez d'utiliser beaucoup plus de mots et d'une image ...


Désolé mais "est utilisé pour les scènes 3D pour accueillir une vue de vue en perspective" est si vague que je devais juste remplir plus de détails. "Il représente la distance de chaque objet ... (et) l'angle de visualisation" est une déclaration étrange, puisque la vue frUStum elle-même n'a aucune connaissance du tout et n'est pas utilisée pour un calcul de distance ou d'angle. Tout ce que View Trustum est, est un moyen de cailler une scène.



0
votes

Il y avait deux types de projection correspondant à ce que vous avez mentionné:
Projection orthographique et la projection de la perspective.

Graphiques ci-dessous pour vous aider à comprendre rapidement la différence entre les deux:
Projection orthographique
Projection de perspective


0 commentaires