4.9.6 Funzione
Media
Ora le cose si fanno interessanti.
Prima, abbiamo iniziato a vedere come pigmenti e normali possono essere
sfumati gli uni negli altri quando li usiamo in mappature. Ma se volessimo
avere una miscela di motivi su tutto l'oggetto ? Questo è il
punto in cui una nuova funzione, chiamata average,
viene utile. Average funziona con mappature di pigmenti, normali e texture,
per quanto la sintassi vari leggermente e quando non ce lo aspettiamo,
il cambiamento può confondere. Qui abbiamo un semplice esempio.
Utilizziamo il solito file ed inseriamo i seguenti oggetti.
plane { -z, 0
pigment { White }
normal {
average
normal_map {
[ gradient x ]
[ gradient y ]
}
}
}
Ciò che abbiamo qui si spiega
da solo quando lo renderizziamo.
![]() |
Fig. 163-"Scacchiera!"
Abbiamo unito un pattern di normali a bande
verticali con uno a bande orizzontali creando due gradienti che si incrociano.
In effetti, l'effetto di 'incrocio' è dato da una morbida fusione
di gradient x
con gradient y
su tutto il nostro piano. Ora, dove sono le differenze ?
Vediamo che la nostra mappa di normali è cambiata dagli esempi che
avevamo fatto prima. Il valore decimale a sinistra di ogni elemento della
mappa è stato rimosso. Questo valore, normalmente serve a mappare
ogni elemento della mappa sul pattern che abbiamo scelto, ma average
è una unione su tutto il piano e quindi i numeri non servono. In
effetti, includere i numeri può portare talvolta a risultati inaspettati,
come una cattiva (o mancante) rappresentazione di alcuni degli elementi
della mappa. Per assicurarci che otterremo l'unione di pattern che ci aspettiamo,
lasciamo perdere il valore decimale.
![]() |
![]() |
![]() |