4.8.5.4.1        Fare una Nuvola

Le halo attenuanti sono perfette per creare nuvole e fumo. Negli esempi seguenti cercheremo di fare una nuvoletta. Ripartiamo da una sfera di dimensione unitaria, riempita con una semplice halo attenuante (vedi halo21.pov).

camera {
location <0, 0, -2.5>
look_at <0, 0, 0>
}

light_source { <10, 10, -10> color rgb 1 shadowless }
plane { z, 2
pigment { checker color rgb 0, color rgb 1 }
finish { ambient 1 diffuse 0 }
scale 0.5
hollow
}

sphere { 0, 1
pigment { color rgbt <1, 1, 1, 1> }
halo {
attenuating
spherical_mapping
linear
color_map {
[ 0 color rgbt <1, 0, 0, 1> ]
[ 1 color rgbt <1, 0, 0, 0> ]
}
samples 10
}
hollow
}

Fig. 148-Primo elemento: alone semplice

Sebbene le nuvole siano normalmente bianche, o grigie, ma non rosse, faremo questa nuvola rossa per renderla più visibile contro lo sfondo a scacchi bianchi e neri.
Il colore della halo attenuante, è calcolato dalla densità totale accumulata dopo che un raggio ha 'viaggiato' attraverso tutto il campo di particelle. Dobbiamo ricordarci di questo quando creiamo la mappa dei colori. Vogliamo che le zone a bassa densità della nuvola siano altamente trasparenti, per cui usiamo un colore rgbt <1,0,0,1> e vogliamo altresì che le zone ad alta densità siano opache e quindi scegliamo rgbt <1,0,0,0>.