YafRay (Yet Another Free Raytracer, in italiano "Ancora un altro ray tracer gratuito") è un potente
motore di rendering open source, abbiamo già visto come installarlo in Blender
ma può anche essere installato standalone, e le scene passategli tramite files xml di definizione.
La prima versione, creata da Alejandro Conty Estévez è stata pubblicata nel 2002, il raytracer è stato completamente riscritto da Mathias Wein a causa di alcuni limiti del progetto originale. La prima versione del nuovo motore è uscita nel 2008.
Il Ray tracing è una tecnica di rendering per generare un'immagine tracciando il percorso della
luce attraverso la scena 3D. Questa tecnica cerca di riprodurre il comportamento naturale della luce
e dei suoi particolari effetti sulle superfici, come la riflessione e rifrazione, caustiche e
l'illuminazione indiretta, come abbiamo già accennato nel post precedente.
Tutto il processo di raytracing si riduce quindi a luci e materiali, o meglio come i materiali alterano i raggi di luce.
Iniziamo a vedere i materiali. Yafaray supporta 4 tipi di materiale:
ShinyDiffuse è il tipo di materiale che più somiglia ai materiali di Blender, esso ha una gran quantità di parametri utili a definirne i più svariati aspetti, come ad esempio il colore e l'intensità dei riflessi, la trasparenza, la translucentezza, l'emissione luminosa (con Emit), l'effetto Fresnel o il tipo di ombreggiatura.
Questo materiale puo' essere utilizzato per modellare la pietra grezza, il metallo arrugginito, il cemento, i tessuti, il gesso, l'asfalto, la carta, il legno non levigato, la plastica luccicante, le tende, le foglie, i cartelloni pubblicitari.
Glossy può essere utilizzato per molte superfici lucide, come ad esempio la plastica, superfici verniciate o
laccate, materiali organici o superfici patinate. Viene comunemente utilizzato per la plastica, il metallo levigato, la vernice delle auto (non metallizzata), il legno laccato, e la materia organica.
Coated Glossy è sostanzialmente un Glossy con un parametro IOR che consente di regolarne l'indice di rifrazione e può produrre delle caustiche. Un esempio di utilizzo è la verniciatura metallizzata della carrozzeria delle auto.
Glass o vetro serve a rappresentare oggetti trasparenti, non solo vetro. L'indice di rifrazione (IOR) specifica il modo in cui la luce viene deviata all'interno del materiale. Per l'acqua e' 1.33, mentre per il vetro e' 1.52 .
Un altro tipo di materiale utilizzabile in yafaray è il Blend, esso miscela due materiali differenti in uno solo, con un parametro per scefliere quale deve essere predominante.
Infine ad ogni tipo di materiale è possibile associare un colore e delle textures utilizzando i relativi Pcanali textures di Blender.
Parliamo ora di illuminazione
Nella vita reale, gli oggetti sono illuminati da diversi tipi di illuminazione. Ad esempio, la luce dalle lampade e il rimbalzare della luce da altri oggetti vicini. Inoltre, alcuni materiali, come il vetro, possono modificare il comportamento della luce. Altri effetti di luce sono il mescolarsi di colori tra superfici adiacenti e la diffusione della luce.
L'interazione e la somma di tutti questi effetti producono un risultato che si chiama illuminazione globale (global illumination).
I raytracers tentano di tiprodurre questo fenomeno attraverso una serie di algoritmi che simulano il comportamento della luce.
Yafaray ha un metodo di illuminazione diretta e tre metodi di illuminazione globale, che sono Path tracing, Photon Mapping e Bidirectional Path tracing.
Direct Lighting : Il metodo diretto utilizza un algoritmo simile a quello classico di Blender. Esso da solo non e' capace di calcolare le caustiche e l'illmunizaione indiretta. E' possibile abbinare il calcolo dell'Ambient Occlusion per simulare l'illuminazione indiretta, quello dei fotoni per ottenere le caustiche. Esso è il metodo più veloce per il rendering, ma anche il più approssimativo dal punto di vista fisico, però in molte circostanze e' possibile ottenere immagini di qualita', virtaulmente indistinguibili da quelle ottenibili con gli altri metodi, ma in tempi decisamente piu' ridotti.
Le caustiche (dal greco kaustikos, kaiein, ‘bruciare’) sono delle entità geometriche formate dalla concentrazione singolare di curve, che modellizzano approssimativamente il comportamento dei raggi luminosi focalizzati da lenti o specchi curvi, che danno luogo a delle zone molto luminose quando incontrano una superficie. I motivi di luce al fondo delle piscine sono degli esempi di caustiche, prodotte dalla rifrazione sulla superficie ondulata dell’acqua.
Path Tracing : Il Path tracing simula i percorsi della luce che dall'osservatore giungono ad una sorgente luminosa. La qualita' del Path Tracing ed il tempo di rendering sono deterimnati dal numero di percorsi che vengono tentati per ogni pixel da renderizzare. E' possibile selezionare l'opzione Photon per utilizzare esclusivamente il Phton Mapping per calcolare le caustiche. Nel caso del Path Tracing, per ottenere immagini poco rumorose, possono occorrere anche qualche migliaio di percorsi per pixel. Il Path Tracing e' particolarmente adatto per gli ambienti esterni.
Photon Mapping : Il metodo del Photon Mapping, simula il percorso seguito dai fotoni emessi da una sorgente luminosa. La sua qualita' ed il tempo di rendering sono determinati dal numero di fotoni emessi. Alla fine della simulazione dei fotoni, avviene una fase chiamata Final Gather, dove vengono considerate le interazioni tra le superfici. E' possibile stabilire la qualta' di questa fase aumentando il numero di campioni.
Per ottenere immagini estremamente realistiche occorrono milioni di fotoni, e centinaia di campioni di Fianl Gather. Il Photon Mapping e' particolarmente adatto per gli ambienti interni.
Yafaray ha inoltre una serie corposa di parametri per il rendering, che definiscono la profondità dei raggi, la profondità delle ombre, eccetera.
Il mio consiglio è sempre lo stesso, installatelo e provate tutte le combinazioni in modo da farvi un idea, intanto io vi presento una serie di esempi :
Un mio test |
bedrom 4 by Suomi |
Salon serein by Rio |
Per rimanere sempre aggiornato seguici su http://www.facebook.com/ProgrammiLiberi o iscriviti al gruppo Open Source
Nessun commento:
Posta un commento