Tecnica di rendering che esclude la geometria fuori dal cono di visione della camera — riduce il carico computazionale. Standard per VFX real-time e motori di gioco.
La telecamera vede solo una determinata area della scena: tutto ciò che si trova dietro, davanti o lateralmente al di fuori del campo visivo è irrilevante per il frame. Il Frustum Culling sfrutta questa realtà: il motore calcola innanzitutto l'area di visione a forma di piramide (il "frustum") definita dall'obiettivo della telecamera, e poi scarta tutta la geometria che non vi rientra. Ciò che non viene renderizzato, non costa tempo di elaborazione.
In pratica, funziona così: ogni oggetto 3D o mesh riceve una "bounding box" invisibile. Il motore, durante il passaggio di rendering, verifica se questa scatola si sovrappone al frustum. Se si trova completamente all'esterno, l'oggetto viene rimosso dalla pipeline di rendering prima ancora di raggiungere la GPU. Questo non solo consente di risparmiare sui throughput dei vertici, ma anche sulle chiamate agli shader e sulla larghezza di banda delle texture. Nelle scene VFX complesse con centinaia di sistemi di particelle, luci o mesh deformate, questa è la differenza tra 24fps stabili e il caos in tempo reale.
Nel flusso di lavoro VFX, ci imbattiamo costantemente in questo: uno shot di distruzione con detriti volanti: riempi l'intera scena di macerie, ma solo la metà anteriore è rilevante nel frame della telecamera. Invece di calcolare tutte le collisioni delle particelle, tramite Frustum Culling puoi far simulare solo i detriti visibili. Similmente nelle scene di folla: puoi inserire centinaia di rig dei personaggi nella scena; solo quelli nel campo visivo vengono effettivamente renderizzati e animati. Anche con le luci: dieci luci al di fuori del frustum non hanno bisogno di essere incluse nel calcolo degli shader.
Il confine tra il piano vicino (Near Plane) e il piano lontano (Far Plane) della telecamera è importante. Se lo avvicini troppo, potresti accidentalmente escludere geometria visibile; se lo allontani troppo, perdi il vantaggio in termini di efficienza. Alcuni motori consentono un controllo più granulare sulle distanze di culling per oggetto, il che è particolarmente utile per sfondi con parallasse o dettagli molto lontani. Anche l'overhead del culling stesso è reale: in scene molto semplici, il Frustum Culling può essere più lento che renderizzare semplicemente tutto. Pertanto, viene attivato principalmente in scene più complesse o può essere controllato manualmente.
Correlato ad altre tecniche di ottimizzazione come l'Occlusion Culling (ciò che è nascosto da altri oggetti) e i sistemi LOD (oggetti più lontani con meno dettagli). Il Frustum Culling è però la base: è uno standard in tutti i moderni motori di gioco e viene applicato automaticamente nel rendering VFX.