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 61: IndexedGeometryArray e le sue sottoclassi.

 

IndexedGeometryArray eredita direttamente da GeometryArray.

 

Tale classe fa uso di due array: in un array vengono inserite le coordinate di un insieme di vertici, nel secondo viene specificato in che ordine collegare gli stessi.

Ciò consente un notevole risparmio in termini di codice (riuso di più vertici), al prezzo di un maggior tempo di rendering e di una maggior quantità di memoria (viene introdotto un secondo array).

 

 

La figura seguente mostra come definire ad esempio un cubo, facendo uso di un array di coordinate di otto elementi (vertici) e dell'array di indici per definire le facce.

Notare come certi vertici vengano riutilizzati più volte, da varie locazioni dell'array di indici.

Java 3D IndexedGeometryArray

 

Esempi: 'Esempio IndexedLineArray.java' e 'Esempio IndexedQuadArray'.

 

I due esempi evidenziano che:

 

  • IndexedLineArray crea sempre dei segmenti, non facce; anche disponendo 4 segmenti a formare, visivamente, un quadrato (servono 4 punti e 8 indici), avremo comunque 4 segmenti, non un poligono, quindi non potremo colorare o texturizzare una faccia (non c'è una faccia !);

  • IndexedQuadArray (ma un discorso analogo può essere fatto per IndexedTriangleArray) crea invece veri e propri poligoni chiusi, prendendo 4 indici alla volta e chiudendoli, formando una faccia che può essere colorata o texturizzata; inoltre, per formare un quadrato, stavolta 'reale', servono solo 4 punti e 4 indici.

 

Java 3D IndexedArrayQuadLine

 

 

 
Vai all'inizio della pagina