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

Capitolo 28: Il Clipping.

 

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.

 

 
Vai all'inizio della pagina