7.6.1.4 Mappe
di Pigmento
Oltre a poter definire color_map,
si possono definire anche pigment_map.
La sintassi per questo di comando è la stessa che per color_map,
con l'eccezione che si specifica un pigmento e non un colore.
La sintassi specifica per la pigment_map
è :
pigment{
TIPO_DI_MOTIVO
pigment_map {
[ NUMERO_1 PIGMENT_BODY_1]
[ NUMERO_2 PIGMENT_BODY_2]
[ NUMERO_3 PIGMENT_BODY_3]
...
}
MODIFICATORI_DEL_PIGMENTO
}
Dove NUMERO_1, NUMERO_2... sono numeri
decimali compresi tra 0.0 e 1.0 questi inclusi. Il PIGMENT_BODY è
costituito da tutto ciò che normalmente sarebbe incluso nella sintassi
di un pigment,
ma in questo caso non è necessaria la parola chiave pigment
e non sono necessarie neanche le parentesi graffe. E' da notare che le
parentesi quadre sono parte integrante del comando. Non denotano in questo
caso parti di comando facoltative. Le parentesi circondano ogni nuovo fattore
che viene aggiunto alla pigment_map.
Si possono avere da 2 a 256 fattori.
Per esempio :
sphere {
<0,1,2>, 2
pigment {
gradient x //questo è il TIPO_DI_MOTIVO
pigment_map {
[0.3 wood scale 0.2]
[0.3 Jade] //questo è un identificatore di pigmento
[0.6 Jade]
[0.9 marble turbulence 1]
}
}
}
Quando la funzione gradient
x dà valori compresi tra 0.0
e 0.3 verrà usato il pigmento wood
opportunamente scalato. Per valori
da 0.3 a 0.6 si userà il pigmento Jade,
da 0.6 a 0.9 si passerà gradualmente a marble
per il quale è stata specificata
una certa turbolenza e per valori superiori a 0.9 sarà usato solo
i marble.
Le mappe di pigmenti possono essere rese complesse quanto si vuole. I pigmenti
che la compongono possono avere a loro volta pigment_map
o color_map
o qualunque tipo di pigmento. Ogni fattore della pigment_map
potrà essere un colore solido. Quando tutti i fattori saranno colori
solidi sarebbe più opportuno, per la maggiore rapidità del
rendering, che venisse usata la color_map.
Si possono usare anche tipi di pigmenti più complessi come quelli
che coinvolgono checker,
hexagon
e brick.
Per esempio...
pigment {
checker
pigment { Jade scale .8 }
pigment { White_Marble scale .5 }
}
In questi casi sono necessarie le parentesi
per capire esattamente dove finisce il pigmento precedente ed inizia il
successivo.
La pigment_map
è anche usata con la media dei pigmenti dati. Vedere "Average
(Media)" per ulteriori dettagli.
Non è possibile usare pigmenti che abbiano un'image_map.
Vedere la sezione "Mappe di Texture" per
modi alternativi da utilizzare per ottenere questo risultato.
![]() |
![]() |
![]() |