NOTA! Questo sito utilizza i cookie e tecnologie simili.

Se non si modificano le impostazioni del browser, l'utente accetta. Per saperne di piu'

Approvo

Guida Java 3D - 28: il Clipping e il Viewing Frustum

Guida Java 3D, corso di base 

 

Java 3D non renderizza, a video, tutti gli oggetti che si trovano tra l'image plate (il 'piano' del rendering) e l'infinito, ma solo gli oggetti che si trovano all'interno di un determinato volume, detto Viewing Frustum, definito dalla distanza tra due piani, il front clip plane e il back clip plane, e l'ampiezza dell'angolo di visuale.

 

Java 3D Clip

 

Gli oggetti posizionati fuori dal Frustum vengono quindi 'tagliati' (clipped) o non vengono renderizzati affatto.

 

 

Ciò ovviamente può portare ad effetti indesiderati, come visibile in figura...

Java 3D Clipping

Quello che succede è mostrato schematicamente nella figura seguente, che illustra appunto il 'funzionamento' del clipping.

 

 

Java 3D esempio funzionamento del clipping

E' l'oggetto View che si occupa di gestire i valori di clipping.

Per modificare tali valori è necessario scrivere le seguenti righe di codice (sia 'simpleU' il nostro oggetto SimpleUniverse):

 

  • simpleU.getViewer().getView().setBackClipDistance([VALORE]);

  • simpleU.getViewer().getView().setFrontClipDistance([VALORE]);

 

dove '[VALORE]' è un double.

 

Un rapporto tra back clip distance e front clip distance considerato 'ragionevole' è, ad esempio, un valore compreso tra 100 e 1000, o comunque inferiore a 3000, ma a seconda delle scene da visualizzare potrebbe essere possibile utilizzare rapporti più grandi anche di qualche ordine di grandezza senza riscontrare particolari rallentamenti nell'esecuzione del programma.

 

Pagina di Francesco Milanese (redbaron85) su Facebook   Pagina di Francesco Milanese (redbaron85) su Google Plus   Profilo di Francesco Milanese (redbaron85) su LinkedIn   Pagina di Francesco Milanese (redbaron85) su Twitter   Canale Youtube di Francesco Milanese (redbaron85ct)

Vai all'inizio della pagina