4.9.7 Lavorare
con Texture Stratificate
Con la moltitudine di colori, pattern
e opzioni per creare texture complesse in POV-Ray, possiamo facilmente
diventare esperti nel mescolare ed armeggiare le texture giuste da applicare
alle nostre creazioni. Ma mentre lavoriamo, prima o poi si deve arrivare
a quella texture speciale. Quella texture che assomiglia un po'
a del legno, solo verniciato, e con un po' di venature gialle e qualche
passata di grigio in verticale, che fa sembrare che qualcuno abbia cominciato
a verniciarci sopra e poi si sia fermato, lasciando solo parte del legno
visibile attraverso la vernice.
Solo che... ed ora ? Come facciamo a far stare tutta quella roba in
una sola texture ? Non ci sono pattern che possono fare tutte quelle
cose. Prima di entrare nel panico ed adottare una bitmap da mappare sull'oggetto,
c'è al minimo un'altra possibilità : le texture stratificate.
Le texture stratificate consistono nello specificare una serie di texture,
una dopo l'altra, tutte associate con lo stesso oggetto. Tutte le texture
che noi specifichiamo verranno applicate, l'una dopo l'altra, sullo stesso
oggetto, dal basso verso l'alto (o meglio, dagli strati più interni
a quelli più esterni). E' molto importante notare che dobbiamo avere
una qualche trasparenza, di tipo filtrante (filter) o non filtrante (transmit)
nei pigmenti delle texture degli strati superiori, oppure gli strati sottostanti
saranno invisibili. Non riceveremmo messaggi di errore, perché ciò
è possibile, semplicemente, non ha senso. E' come spendere delle
ore per tracciare un elaborato disegno su di un muro e poi verniciare tutto
a tinta unita. Creiamo un oggetto molto semplice con una texture stratificata
e vediamo cosa succede : creiamo un file denominato laytex.pov
e vi inseriamo il seguente testo :
#include "colors.inc"
#include "textures.inc"
camera {
location <0, 5, -30>
look_at <0, 0, 0>
}
light_source { <-20, 30, -50> color White }
plane { y, 0 pigment { checker color Green color Yellow } }
background { rgb <.7, .7, 1> }
box { <-10, 0, -10>, <10, 10, 10>
texture {
Silver_Metal // un oggetto di metallo ...
normal { // ... che ha preso un colpo
dents 2
scale 1.5
}
} // (fine della texture base)
texture { // ... ha qualche macchia di ruggine...
pigment {
granite
color_map {
[0.0 rgb <.2, 0, 0> ]
[0.2 color Brown ]
[0.2 rgbt <1, 1, 1, 1> ]
[1.0 rgbt <1, 1, 1, 1> ]
}
frequency 16
}
} // (fine della texture a macchie di ruggine)
texture { // ... e qualche segno di fuliggine
pigment {
bozo
color_map {
[0.0 color Black ]
[0.2 color rgbt <0, 0, 0, .5> ]
[0.4 color rgbt <.5, .5, .5, .5> ]
[0.5 color rgbt <1, 1, 1, 1> ]
[1.0 color rgbt <1, 1, 1, 1> ]
}
scale 3
}
} // (fine della texture fuliggine)
} // (fine della frase box )
Qui le cose si fanno complicate, allora
per rendere il file più leggibile, abbiamo aggiunto commenti che
indicano cosa stiamo facendo e dove terminano le varie parti delle texture
(in modo da non perdersi in tutte quelle parentesi !).
Per cominciare, creiamo un semplice parallelepipedo sul classico pavimento
a scacchiera e forniamo al cielo un colore blu pallido. Ed ora, la parte
divertente. Abbiamo usato per il parallelepipedo la texture silver_metal
che è dichiarata nel file textures.inc. Ovviamente, è
meglio andare a leggere il file per vedere come la texture è stata
effettivamente creata. Per dare al metallo un aspetto consunto, abbiamo
aggiunto il pattern di normali dents
che crea l'illusione che sulla superficie siano stati battuti dei colpi,
come se la nostra misteriosa scatola di metallo fosse stata maltrattata
per un bel po'. Le macchie di ruggine non sono altro che un pattern granite
molto fine che sfuma dal rosso scuro al marrone e raggiunge poi la piena
trasparenza nella maggior parte della mappatura del colore. E' vero, probabilmente
avremmo potuto inventarci un pattern più realistico, usando delle
mappature di pigmenti per raggruppare le macchie di ruggine, ma le mappature
di pigmenti sono materia di un altro paragrafo del tutorial quindi, per
adesso accontentiamoci.
Infine, abbiamo aggiunto una terza texture all'insieme, la texture bozo
che gradualmente sfuma da zone scure a zone di grigio medio semitrasparente
ed infine a zone del tutto trasparenti nella seconda metà della
sua mappatura del colore. Questo ci dà l'idea di bruciature fuligginose
che ancora di più tormentano la superficie della nostra scatola
di metallo. Il risultato finale lascia la superficie della nostra scatola
di metallo con un aspetto veramente consunto, utilizzando delle texture
a strato multiplo per produrre un effetto che nessuna texture semplice
avrebbe potuto produrre.
![]() |
Fig.164-Effetto finale
4.9.7.1 Dichiarare Texture Stratificate
4.9.7.2 Un Altro Esempio di Texture Stratificata
![]() |
![]() |
![]() |