Make
a donation:
IBAN: IT36M0708677020000000008016 - BIC/SWIFT:
ICRAITRRU60 - VALERIO DI STEFANO or Privacy PolicyCookie PolicyTerms and Conditions Manuale di Utilizzo di POV-Ray 3.01 - Versione Italiana
7.6.2 Normale
Il raytracing è conosciuto soprattutto
per il modo in cui vengono rese la riflessione, la rifrazione e gli effetti
luminosi. La maggior parte delle nostre percezioni dipendono dalla capacità
di riflessione degli oggetti che ci circondano. Il raytracing è
in grado di attuare degli scherzi alla nostra percezione in modo da creare
effetti ottici e farci vedere dettagli complessi, là dove non esistono
realmente.
Supposto che si desideri una superficie molto scabra, potrebbe essere molto
difficile modellare matematicamente ogni rugosità. Possiamo però
ricreare l'effetto intervenendo sul modo in cui la superficie si comporta
nella riflessione della luce. Il calcolo della riflessione dipende da un
vettore chiamato normale alla superficie (surface normal).
Questo vettore parte dalla superficie ed è diretto perpendicolarmente
ad essa. Manipolando artificialmente questo vettore si possono simulare
superfici non lisce.
Le frasi relative alle normali sono frasi che fanno parte della sintassi
delle texture e definiscono in particolare le modifiche da applicare alla
componente normale della superficie. Come le frasi relative al pigmento,
è possibile omettere l'intero blocco delle frasi relative alla texture
più propriamente, diminuendo i tempi di battitura. Non bisogna però
dimenticarsi che comunque è implicito il concetto di texture. Per
esempio...
//può essere accorciata così...
object {
Coso
pigment {color Purple}
normal {bumps 0.3}}
Inserire una frase per le normali non
modifica realmente le superfici. Modifica solamente il modo in cui le luci
vengono rifratte e riflesse.
Il modo completo per definire le normali è questo...
normal {
IDENTIFICATORE_DI_NORMALI
TIPO_DI_MOTIVO valore decimale
MODIFICATORI_DI_NORMALI
TRANSFORMAZIONI...
}
Ognuno degli elementi che compongono
l'intera sintassi delle normali è facoltativo, ma se è presente
deve essere nell'ordine che è mostrato qui sopra per essere sicuri
che il risultato sia quello desiderato. Ogni frase dopo l' IDENTIFICATORE_DELLE_NORMALI
modificherà o sovrascriverà precedenti impostazioni. Se non
viene specificato alcun identificatore allora la frase modificherà
i valori predefiniti delle normali nella texture. Il TIPO_DI_MOTIVO
può essere seguito da un valore decimale che controlli la profondità
apparente delle irregolarità. I valori possono variare tra 0.0 e
1.0, ma possono essere usati anche altri valori. Valori negativi invertono
l'effetto. Il valore predefinito, usato se non ne viene specificato un
altro, sarà 0.5.
Valori validi per i modificatori delle normali sono le parole chiave slope_map,
normal_map,
bump_map
e bump_size
così come tutti i generici modificatori di motivi, quali la rotazione,
la traslazione, il ridimensionamento, la turbolenza le ondulazioni e il
warp. Questi modificatori verranno applicati solo alle normali e non ad
altre parti della texture. I modificatori dovrebbero essere specificati
per ultimi.
Ci sono tre tipi fondamentali di pattern di normali. Sono pattern, speciali
e mappe bump. Si differenziano per i tipi di modificatori che si possono
usare. All'inizio POV-Ray aveva dei motivi (pattern) che erano riservati
alle normali. Dalla versione 3.0 di POV-Ray è possibile usare qualunque
motivo sia per i pigmenti che per le normali. Per esempio è possibile
usare ripples
come pigmento o wood
come tipo di normale. I motivi bumps,
dents,
ripples,
waves,
wrinkles
e bump_map che
prima erano esclusivamente motivi validi per le normali ora possono essere
usati anche come pigmenti. Siccome questi sei tipi in particolare usano
i calcoli relativi alle normali, non possono avere modificatori quali slope_map,
normal_map
o wave_shape.
Tutti gli altri tipi di motivi possono invece utilizzarli.