Light cache

Da WikiCG.

>>Light cache

Torna all'indice del manuale Vray

>>Esempi e Tutorials


Esempi Lightcache


Generale

Light caching (LC) (qualche volta chiamata anche light mapping) è una tecnica per approssimare la GI in una scena. Questo metodo era stato sviluppato originariamente da Chaos Group specificatamente per V-Ray renderer. Esso è molto simile alla PM, ma senza molte delle sue limitazioni.

Light map è costruita tracciando moltissimi percorsi (eye paths) dalla camera. Ognuno dei bounces nel percorso memorizza l'illuminazione dal resto del percorso fino ad una struttura 3D ,in modo molto simile alla PM.

D'altra parte, in un altro senso, essa è l'esatto opposto della PM, che traccia i percorsi dalle luci, e memorizza l'energia accumulata dal inizio del percorso nella PM.

Sebbene molto semplice, l'approccio light-caching ha molti vantaggi rispetto alla photon map:

    • lightmap è facile da settare. Bisogna solo tracciare i raggi dalla camera, al contrario della PM, che deve processare ogni luce nella scena e generalmente richiede un setup separato per ogni luce.
    • light-mapping funziona efficentemente con qualsiasi luce - incluso lo skylight, oggetti self-illuminated , non-physical lights, photometric lights etc. Al contrario, PM è limitata negli effetti di illuminazione che può riprodurre - per esempio PM non può riprodurre l'illuminazione da skylight o da luci omni standard senza decadimento quadratico inverso ( inverse-square falloff).
    • la light map produce risultati corretti negli angoli e attorno ai piccoli oggetti. La PM d'altra parte, si affida ad ingegnosi schemi di stima della densità, che spesso producono risultati errati in questi casi, o troppo bui o troppo luminosi in queste aree.
    • in molti casi light map può essere usata come engine per i primary bounces per previews molto veloci e nitide.

Nonostante abbia questi vantaggi LC è simile in velocità alla PM e produce approssimazioni della GI molto velocemente. Inoltre, LC può essere usata per aggiungere effetti di GI alle animazioni.


Naturalmente, LC ha alcune limitazioni:

  • come IM, essa è view-dependent ed è generata per una particolare posizione della camera.
  • come PM, LC non è adattativa. L'illuminazione è calcolata ad una risoluzione fissa , che è determinata dall'utente.
  • LC non funziona bene con le bump maps.

Parameters

Subdivs - questo determina come molti percorsi sono tracciati dalla camera. Il numero attuale di percorsi è il quadrato di subdivs (default 1000 subdivs significano che 1 000 000 percorsi saranno tracciati dalla camera)

Sample size - determina la spaziatura dei samples nella LC. Un valore piccolo significa che i samples saranno vicini gli uni agli altri, la LC preserverà nitidi i dettagli nella illuminazione, ma prenderà più memoria e produrrà più noise. Un valore grande renderà "spianata" (smooth out) la LC ma perderà in dettaglio. Questo valore può essere sia in world units o relativo alla dimensione della immagine, dipende dal parametro Scale.


Scale - questo parametro determina le units di Sample size e Filter size :


Screen - le units sono frazioni dell'immagine finale (1.0 significa che i samples saranno grandi quanto l'intera immagine). Samples che sono più vicini alla camera sarano più piccoli e samples che sono lontani saranno più grandi. Nota che queste units non dipendono dalla risoluzione dell'immagine. Questo valore è il più adatto per stills (immagini statiche) o per animazioni dove LC deve essere calcolata ad ogni frame.

World - le dimensioni sono fisse in world units ovunque. Questo può influire sulla qualità dei samples - samples che sono vicini alla camera saranno campionati più spesso e appariranno smooth, mentre samples che sono lontani saranno "noisier". Questo valore funziona meglio per animazioni fly-through poichè forza ovunque una densità costante di sample.


Store direct light - con questa opzioni LC memorizzerà e interpolerà la luce diretta. Questo può essere utile per scene con molte luci e IM o direct GI come metodo per i primary diffuse bounces, poichè la luce diretta sarà calcolata da LC, invece di campionare ogni singola luce. Nota che solo l'illuminazione diffusa prodotta dalla scena sarà memorizzata. Se tu vuoi usare LC direttamente per approssimare la GI mantenendo l'illuminazione diretta nitida (sharp), deselezionare questa opzione.


Show calc. phase - mettendo a On questa opzione saranno mostrati i percorsi che sono tracciati. Questo non influisce sul calcolo della LC è fornisce solo un feedback all'utente. Questa opzione è ignorata in rendering to fields - in quel caso la fase di calcolo non è mai mostrata.


Pre-filter - quando questo è on, i samples nella LC sono filtrati prima del rendering. Nota che questo è diverso dal normale filtro LC (vedi sotto) che avviene durante il rendering. Prefiltering agisce esaminando ogni sample a turno, e modificando esso affinchè rappresenti la media del dato numero di samples vicini. Più prefilter samples significano una LC più confusa (blurry) e con meno noise. Prefiltering è calcolato solo una volta dopo che una nuova LC è stata calcolata o caricata dal disco.


Filter - questo determina il tipo di filtro render-time per la LC. Il filtro determina come l'irradiance è interpolata dai samples nella LC.


None - nessun filtro agisce. Il sample attiguo al punto ombreggiato è preso come valore di irradiance. Questa è l'opzione più veloce, ma produce artefatti vicino gli angoli, se la LC è noisy. Tu puoi usare pre-filtering (vedi sopra) per diminuire questo noise. Questa opzione funziona ottimamente se LC è usata solo come secondary bounces oppure per esigenze di testing.


Nearest - questo filtro cerca i samples attigui al punto ombreggiato e fa la media del loro valore. Questo filtro non è disponibile per visualizzazione diretta (primary bounces) della LC, ma è utile se si usa LC come secondary bounces engine. Una proprietà di questo filtro è che si adatta alla densità di sample della LC ed è calcolato in un breve tempo costante. Interpolation samples determina quanti samples vicini cercare dalla LC.

Fixed - questo filtro cerca e media tutti i samples dalla LC che cadono all'interno di una certa distanza dal punto ombreggiato. Questo filtro produce risultati smooth ed è opportuno per una visualizzazione diretta della LC (quando essa è usata come primary GI engine). La dimensione del filtro è determinata da Filter size . Valori grandi offuscano la LC e appianano il noise. Valori tipici per Filter size sono 2-6 volte più grandi che Sample size. Nota che Filter size usa la stessa scala di Sample size e il suo valore dipende da Scale .


Use light cache for glossy rays - se questa opzione è on, LC sarà usata pure per calcolare illuminazione per raggi glossy (lucidi), in aggiunta ai raggi GI normali. Questo può accelerare il rendering di scene con riflessioni glossy .

Number of passes - LC è calcolata in svariati passi, che sono poi combinati nella LC finale. Ogni pass è renderizzato in un thread separato indipendentemente dagli altri passes. Questo assicura che la LC sia consistente attraverso computers con diverso numero di CPU. In generale una LC calcolata con un piccolo numero di passi può essere meno noisy che una LC calcolata con più passi, a parità di samples; tuttavia un piccolo numero di passi non può essere distribuito efficacemente attraverso svariati threads. Per macchine single-processor non-hyperthreading, il numero di passi può essere settato a 1 per un ottimi risultati.

Mode - determina il rendering mode della LC:

Progressive path tracing - in questo mode, il algoritmo LC è usato per campionare l'immagine finale progressivamente. Per una discussione di questo mode vedi Tutorials pathtracing tutorial.

Single frame - questo calcolerà una nuova LC per ogni frame dell'animazione.

Fly-through - questo calcolerà una LC per una intera animazione fly-through, assumendo che la posizione/orientamento della camera è la sola cosa che cambia. Solo il movimento della camera nel segmento di tempo attivo è preso in considerazione. Nota che che potrebbe essere meglio usare World Scale per fly-through animations. La LC è calcolata solo al primo frame renderizzato ed è riusata senza cambiamenti per i frames seguenti.


From file - in questo mode LC è caricata da file. il file non include il prefiltering della LC; il prefiltering è eseguito dopo che la LC è stata caricata, affinchè si possa aggiustarlo senza necessariamente ricalcolare la LC.


Note

  • Non settare Adaptation by importance amount nel QMC sampler rollut a 0.0 quando si usa light cache, perchè questo causerà eccessivi tempi di rendering.
  • Non applicare materiali perfettamente bianchi o molto vicini al bianco alla maggioranza degli oggetti nella scena, poichè questo provoca eccessivi tempi di rendering.Questo perchè la quantità di luce riflessa nella scena diminuirebbe molto gradualmente e la LC dovrebbe tracciare percorsi troppo lunghi. Evita anche materiali che hanno una delle loro componenti RGB settata al massimo (255).
  • Se vuoi usare LC per le animazioni, dovresti scegliere un valore sufficientemente grande per Filter size per rimuovere il flickering nella GI.
  • Non c'è differenza tra LC calcolate per primary bounces (direct visualization) e per secondary bounces. Tu puoi usare senza rischi LC calcolate in uno di questi modi per l'altro.
  • Analogamente alla PM, si possono ottenere "light leaks" con LC attorno a superfici molto sottili con illuminazione fortemente diversa sule due faccie opposte. Attualmente non cè modo di evitare questo, eccetto se si hanno oggetti veramente sottili; Inoltre l'effetto può essere ridotto diminuendo Sample size e/o il filtering.


>>Light cache

Torna all'indice del manuale Vray

Commenti degli utenti

Discussione:Light cache

Treddi.com