Prima che si possa comprendere come progettare di fatto coi materiali, si deve capire come interagisce la luce simulata con le superfici nel motore del rendering di Blender e come le impostazioni del materiale regolano queste interazioni. Una conoscenza approfondita del motore sarà d'aiuto per trarne il massimo.
L'immagine creata col rendering di Blender è una proiezione della scena su una superficie immaginaria chiamata il piano visivo. Il piano visivo è analogo alla pellicola nella telecamera tradizionale, o ai coni ed ai bastoncelli nell'occhio umano, solo che riceve una luce simulata, non reale.
Per effettuare il rendering di una scena bisogna determinare quale luce della scena arriva su ciascun punto del piano visivo. Il modo migliore per rispondere a questa domanda consiste nel seguire una linea retta (il raggio di luce simulato) a ritroso, dal punto sul piano visivo passando dal punto focale (la posizione della telecamera) fino a raggiungere una superficie visibile della scena, in tale punto si determina quanta luce dovrebbe colpire tale punto. Le proprietà della superficie e l'angolo d'incidenza della luce indicano quanta luce torni indietro riflessa lungo l'angolo di vista incidente (Figura 10-1).
Per ogni punto di una superficie, quando un raggio di luce lo colpisce, si possono avere due tipi di fenomeni basilari: diffusione e riflessione speculare. La diffusione e la riflessione speculare, si distinguono soprattutto per la relazione tra l'angolo della luce incidente e l'angolo della luce riflessa.
A partire da Blender v2.31
La luce che ricade su una superficie viene re-irradiata per il fenomeno della Diffusione, in altre parole, re-irradiata in tutte le direzioni isotropicamente. Questo significa che la telecamera vedrà la stessa quantità di luce proveniente da questo punto della superficie prescindendo dall'angolo di vista incidente.
Questa è la qualità che rende la luce diffusa indipendente dal punto di vista. Ovviamente la quantità di luce che colpisce la superficie dipende dall'angolo della luce incidente. Se la maggior parte della luce che ricade su una superficie viene riflessa in modo diffuso, la superficie apparirà opaca (Figura 10-2).
Fin dalla versione 2.28, Blender ha implementato tre diverse formule matematiche per calcolare la diffusione e, cosa ancor più notevole, la diffusione ed il fenomeno speculare, che di solito sono racchiusi in un solo tipo di materiale, sono stati separati in modo che sia possibile selezionare separatamente l'implementazione della diffusione e quello della riflessione speculare.
Le tre implementazioni della Diffusione, o shaders (ombreggiatori), usano due o più parametri ciascuno. I primi due parametri sono condivisi da tutti gli Ombreggiatori della Diffusione e sono il colore di Diffusione, o semplicemente, il colore, del materiale, e la quantità d'energia della luce incidente realmente diffusa. Quest'ultima quantità, che spazia nella gamma [0,1], viene in realtà chiamato Refl nell'interfaccia.
Gli ombreggiatori implementati sono:
Lambert - Questo è stato l'ombreggiatore di default di Blender fin dalla versione 2.27, Pertanto tutti i vecchi tutorials fanno riferimento ad esso, e tutte le immagini precedenti la 2.28 sono state create così. Questo ombreggiatore ha solo i parametri di default.
Oren-Nayar - Questo ombreggiatore è stato introdotto la prima volta in Blender 2.28. Ha un approccio più 'fisico' al fenomeno della diffusione giacché, oltre ai due parametri di default, ne ha un terzo, che viene usato per determinare la quantità di ruvidità microscopica della superficie.
Toon (Fumetto) - Questo ombreggiatore è stato introdotto la prima volta in Blender 2.28. È un ombreggiatore molto 'poco fisico' dato che non intende imitare la realtà ma produrre dei rendering da 'fumetto', con delle zone nette luce-ombra e regioni uniformemente illuminate/ombreggiate. Nonostante la sua 'semplicità', richiede altri due parametri, per definire la dimensione dell'area luminosa e la nitidezza delle regioni in ombra.
Una successiva sezione, dedicata all'implementazione reale del materiale, analizzerà le relative impostazioni.