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.