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 98: Colori delle geometrie.

 

Anche se 'involontariamente', abbiamo già modificato l'aspetto visivo degli oggetti trattando le geometrie delle mesh, colorandole, senza però far riferimento agli attributi di Appearance, l'oggetto che dovrebbe occuparsi proprio di questi argomenti.

 

 

Ad esempio, prendiamo in esame il codice utilizzato per creare la griglia di riferimento in alcuni degli esempi presentati nei capitoli precedenti:

 

LineArray landGeom = new LineArray(44, GeometryArray.COORDINATES | GeometryArray.COLOR 3);

Color3f c = new Color3f( 0.1f, 0.8f, 0.1f);

for (int i=0; i<44; i++) landGeom.setColor(i,c); .

 

 

LineArray discende da Geometry e, ancora più in alto, da NodeComponent.

Non ha a che fare, quindi, con gli Appearance o i Material.

Le Geometry consentono dunque di specificare i colori per i vertici.

Questo porta a vantaggi in termini di performance (non è necessario creare un oggetto Appearance per definire dei 'semplici' colori), ma anche di lettura del codice, con un numero minore di righe di codice da scrivere.

Le Geometry con vertici soggetti a setColor verranno colorate in questo modo:

 

  • nel caso di PointArray, i punti saranno del colore impostato;

  • nel caso di un LineArray, le linee avranno un colore definito dai colori dei due vertici agli estremi del segmento;

  • nel caso di un TriangleArray o di un QuadArray, che definiscono poligoni, la superficie della geometria sarà colorata interpolando i colori dei 3 o 4 vertici che la compongono.

 

 

E' importante sapere che il colore della Geometry sovrascrive il colore dell'Appearance.

 

 

Abbiamo due file d'esempio riguardanti i colori delle Geometry: 'Esempio Colori Delle Geometrie 1' ed 'Esempio Colori Delle Geometrie 2'.

 

 
Vai all'inizio della pagina