Cette réponse est longue après le fait, mais depuis que je l'ai trouvée sur Google, cela aidera peut-être toujours quelqu'un. Je veux juste clarifier ce que JasonD et Notabene disaient: il est beaucoup plus facile de faire des calculs d'écrêtage (comprendre ce que vous devriez voir et ce que vous ne devriez pas voir en raison de la façon dont vous regardez, de la distance, ect .). Au lieu de vérifier si les choses coupent les plans sur les bords de votre vue, vous comparez simplement les x, y, z de tout à xMax, xMin, yMax, ect. , puisque vous avez simplement un cube. C'est un peu plus compliqué si vous ne voulez avoir qu'une partie de quelque chose à montrer, mais le calcul est encore meilleur avec un cube unitaire qu'avec un tronc.
Quelques choses que j'ai trouvées trompeuses dans d'autres réponses:
- Vous ne coupez pas les côtés du tronc de vue, vous le déformez en un cube en utilisant des transformations matricielles homogènes.
-Nous ne convertissons pas en écran 2D avec cette étape. Cette étape n'est pas nécessaire pour ce faire. Théoriquement, nous pourrions faire tout notre travail sans convertir d'abord le tronc en cube, ce qui serait plus intuitif mais plus difficile en mathématiques - mais les graphiques consistent à faire des calculs très rapidement car il y a BEAUCOUP de calculs par seconde pour le jeu moyen / peu importe.
Plus de détails: ce n'est pas nécessairement un cube unitaire dans lequel nous nous convertissons, il doit juste être une boîte rectangulaire pour que nos calculs max-min fonctionnent. En fait, en classe, nous avons utilisé une boîte où la caméra fait face à l'axe z, z va de 0 à 1, x va de -1 à 1, et y va de -1 à 1. En général en mathématiques 1, 0, et -1 sont de bons nombres pour faciliter les calculs, je suppose que c'est pourquoi nous ne passons pas de -100 à 100 ou quelque chose.
TLDR: Cela facilite l'écrêtage.
Edit: bobobobo a l'essentiel. Tout est triangles, généralement: D.
Source: Suivre un cours universitaire de graphisme