Caméra & projection — 04 — Frustum, near et far

Le volume que voit une caméra : la pyramide tronquée appelée frustum, les plans de coupe proche (near) et lointain (far), le clipping de la géométrie qui en sort, et pourquoi ces plans existent.

04 — Frustum, near et far

Ce que tu vas apprendre

  • Ce qu'est le frustum : le volume réellement visible
  • Les plans de coupe near et far, et pourquoi ils existent
  • Le clipping : écarter ce qui sort du volume
  • Le lien avec le z-buffer et la précision de la profondeur

Prérequis


Une caméra ne voit pas l'infini dans toutes les directions. Elle voit un volume bien précis, en forme de pyramide tronquée. Tout ce qui est dedans est rendu ; tout ce qui est dehors est jeté. Ce volume porte un nom — le frustum — et ses limites sont au cœur du rendu temps réel.

Le frustum

Le frustum (ou view frustum, « tronc de vision ») est le volume visible de la caméra. Pars du centre de projection (l'œil), ouvre la pyramide selon le champ de vision (article 02), et coupe-la par deux plans perpendiculaires à l'axe de visée : tu obtiens une pyramide tronquée. C'est ça, le frustum.

                    ________ far (loin)
                  /|        |
                /  |        |
        near  /____|        |   ← frustum = la pyramide
        (proche)|  |        |     tronquée entre near et far
   œil ●————————|  |        |
              \ |__|________|
                \  |        |
                  \|________|

Ses faces latérales sont fixées par le FOV et le format ; ses deux bases sont les plans de coupe.

Les plans near et far

  • Le plan proche (near plane) est la limite avant. Rien de plus près que lui n'est rendu. Il évite notamment de diviser par une profondeur nulle ou négative (le point serait derrière l'œil) — souviens-toi de la division par z de l'article précédent.
  • Le plan lointain (far plane) est la limite arrière. Rien au-delà n'est rendu. Il borne la scène et, surtout, il borne l'intervalle des profondeurs, ce qui rend la profondeur stockable avec une précision finie.

Ces deux plans n'ont aucun équivalent sur un vrai appareil photo — ils sont propres à la caméra de synthèse. On les choisit : near petit (mais pas trop), far assez grand pour englober la scène.

Le clipping

Que faire des objets à cheval sur le bord du frustum — un mur qui entre à moitié dans le champ ? On les découpe : c'est le clipping. On rogne la géométrie le long des faces du frustum, pour ne garder que la partie intérieure. Un triangle traversé par le plan near, par exemple, est recoupé en un polygone qui reste à l'intérieur.

Le clipping a deux rôles : éviter de dessiner ce qui n'est pas visible (gain de temps), et surtout empêcher les projections invalides — un point derrière l'œil donnerait une division par un z du mauvais signe, et un résultat absurde. Couper avant la projection garantit que tout ce qu'on projette est légitime.

Pourquoi un volume, et pas juste un cône

Le frustum, une fois projeté, se transforme en un cube (l'espace NDC, voir article 06). Cette transformation « frustum → cube » est précisément ce que fait la matrice de projection. Ramener la pyramide à un cube simplifie tout ce qui suit : tester si un point est visible devient « est-il dans le cube [-1, 1]³ ? », une comparaison triviale. C'est l'une des raisons d'être de la matrice de projection.

Le lien avec le z-buffer

Les plans near et far ne servent pas qu'à couper. Ils définissent l'intervalle dans lequel la profondeur de chaque pixel est encodée, pour le z-buffer — le tampon qui mémorise, pour chaque pixel, la distance de l'objet le plus proche déjà dessiné, afin de gérer les occlusions en rasterization.

Un piège classique en découle : si le plan near est trop proche de 0 et le far très loin, la précision de la profondeur se concentre près de la caméra et s'effondre au loin. Deux surfaces lointaines se mettent alors à « clignoter » l'une devant l'autre — le fameux z-fighting. La parade : rapprocher le far et, surtout, éloigner le near autant que possible, car c'est lui qui pèse le plus sur la précision.

On sait délimiter ce que voit la caméra. L'article suivant compare les deux grandes façons de projeter ce volume sur le plan : la perspective et l'orthographique.


Sources

  • Scratchapixel. The Perspective and Orthographic Projection Matrix — What You Need to Know First. scratchapixel.com
  • Scratchapixel. The Pinhole Camera Model (plans de coupe et frustum). scratchapixel.com
  • Marschner, S., & Shirley, P. (2021). Fundamentals of Computer Graphics (5ᵉ éd.). CRC Press.

Réservez un audit gratuit de 30 minutes. Je vous montre concrètement ce qu'on peut automatiser.