4
1 Computer Graphics Marco Tarini Università dell’Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2011/12 Lezione 15 Lezione 15 Lezione 15 Lezione 15 : Paradigmi di rendering RAY-TRACING M a r c o T a r i n i C o m p u t e r G r a p h i c s 2 0 1 1 / 1 2 U n i v e r s i t à d e l l ’ I n s u b r i a Ray-Tracing • Idea: si seguono a ritroso i raggi di luce che giungono all’osservatore – per ogni pixel sullo schermo: mando un raggio (il "raggio primario" di quel pixel) trovo la sua 1ma intersezione con un oggetto della scena punto di vista screen buffer M a r c o T a r i n i C o m p u t e r G r a p h i c s 2 0 1 1 / 1 2 U n i v e r s i t à d e l l ’ I n s u b r i a Ray-Tracing • Implementazione: – tutta basata su intersezione raggio-primitive (che va super-ottimizzata) punto di vista screen buffer M a r c o T a r i n i C o m p u t e r G r a p h i c s 2 0 1 1 / 1 2 U n i v e r s i t à d e l l ’ I n s u b r i a Ray-Tracing Facile fare: ombre portate (nette) raggio primario raggio di shadowing (interseca, quindi il punto e' in ombra) M a r c o T a r i n i C o m p u t e r G r a p h i c s 2 0 1 1 / 1 2 U n i v e r s i t à d e l l ’ I n s u b r i a Ray-Tracing Facile fare: riflessioni speculari (anche multiple) raggio primario raggio di riflessione M a r c o T a r i n i C o m p u t e r G r a p h i c s 2 0 1 1 / 1 2 U n i v e r s i t à d e l l ’ I n s u b r i a Ray-Tracing Facile fare: semitrasparenze con rifrazioni raggio primario raggio di riflessione raggio di rifrazione

Computer Graphics Ray-Tracingvcg.isti.cnr.it/~tarini/teaching/cg11/Lez15.Raytracing...Microsoft PowerPoint - Lez15.Raytracing.Radiosity.ppt [Compatibility Mode] Author tarini Created

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Computer Graphics Ray-Tracingvcg.isti.cnr.it/~tarini/teaching/cg11/Lez15.Raytracing...Microsoft PowerPoint - Lez15.Raytracing.Radiosity.ppt [Compatibility Mode] Author tarini Created

1

Computer Graphics

Marco Tarini

Università dell’Insubria

Facoltà di Scienze MFN di Varese

Corso di Laurea in Informatica

Anno Accademico 2011/12

Lezione 15Lezione 15Lezione 15Lezione 15 ::::Paradigmi di rendering

RAY-TRACING

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Ray-Tracing

• Idea: si seguono a ritroso i raggi di luce che giungono all’osservatore

– per ogni pixel sullo schermo:• mando un raggio (il "raggio primario" di quel pixel)

• trovo la sua 1ma intersezione con un oggetto della scena

punto di vista screen buffer

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Ray-Tracing

• Implementazione:– tutta basata su

intersezione raggio-primitive (che va super-ottimizzata)

punto di vista screen bufferM a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Ray-Tracing

• Facile fare: ombre portate (nette)raggio primario

raggio di shadowing (interseca, quindi il punto e' in ombra)

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Ray-Tracing

• Facile fare: riflessioni speculari (anche multiple)raggio primario

raggio di riflessione

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Ray-Tracing

• Facile fare: semitrasparenze con rifrazioniraggio primario

raggio di riflessione

raggio di rifrazione

Page 2: Computer Graphics Ray-Tracingvcg.isti.cnr.it/~tarini/teaching/cg11/Lez15.Raytracing...Microsoft PowerPoint - Lez15.Raytracing.Radiosity.ppt [Compatibility Mode] Author tarini Created

2

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Ray-Tracing: tipici esempi di risultati

( Advanced Rendering Toolkit - Alexander Wilkie - 1999)

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Ray-Tracing: tipici esempi di risultati

( Advanced Rendering Toolkit - Alexander Wilkie - 1999)

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Ray-Tracing : tipici esempi di risultati

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Ray-Tracing : costo

• Task principale:– computo dell'intersezione fra RAGGIO 3D e PRIMITIVE 3D

• E' computazionalmente caro– costanti alte– ma SUBLINEARE col numero di primitive

• se vengono usate strutture dati adeguate• (es, strutture di indicizzazione spaziale)

• In pratica, usato quasi solo per rendering off-line• Nota: spesso non usa nessun HW specializzato

– implementazioni tipicamente su CPU– trend recente: implementazioni su GP-GPU o CUDA

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Ray-Tracing : Primitive di rendering

Q: quali primitive di randering x raytracing?A: qualunque cosa io sappia intersecare con un raggio!

Es:– triangoli – superfici implicite

• sfere• GSM• …

Goemetric Solid

Modelling

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Ray-Tracing: HW apposito?

Scene: 5 alberi (milionate di triangoli) 28mila girasoli (11 tipi), 35K triangoli ciascuno.

OpenRT ProjectinTrace Realtime Ray Tracing Technologies GmbH

MPI Informatik, Saarbrueken - Ingo Wald 2004

HW specializzato

per fare RayTracing.

Per ora, solo prototipi

nei laboratori.

Stessa idea base

(parallelizzare).

Implementazione

del tutto differentedal nostro pipeline

di rasterizzazione.

Sfonderà?

Page 3: Computer Graphics Ray-Tracingvcg.isti.cnr.it/~tarini/teaching/cg11/Lez15.Raytracing...Microsoft PowerPoint - Lez15.Raytracing.Radiosity.ppt [Compatibility Mode] Author tarini Created

3

Computer Graphics

Marco Tarini

Università dell’Insubria

Facoltà di Scienze MFN di Varese

Corso di Laurea in Informatica

Anno Accademico 2011/12

Lezione 14:Lezione 14:Lezione 14:Lezione 14:Paradigmi di rendering 2/2

Radiosity

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Radiosity

• Classe di algoritmi di illuminazione globale• Gestiscono bene riflessioni multiple diffusive• Tipicamente assumono materiali Lambertiani!

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Radiosity: Concetto

• Dividere la scena in “pezzetti di superficie”– circa stessa area– (e non necessariamente sono i nostri triangoli...)

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Radiosity: Concetto

• Dividere la scena in pezzetti• Per ogni coppia di pezzetti i e j

– calcolare quanta luce ...• che parte da i• e si diffonde in tutte le direzioni (DIFFUSE!)

– ... raggiunge j

• Alcuni pezzetti emanano luce propria (le fonti di luce)

– gli altri diffondono solo quella che gli arriva da fuori

• Poi risolvere tutto (facile a dirsi)

la matriciona corrsipondentee' detta Form Factor

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Radiosity: Come

• Vecchia scuola:– invertire una matrice enorme

• Come si fa davvero:– metodi randomizzati stocastici (Monte Carlo)

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Radiosity: Costo

• E troppo caro da calcolare in tempo reale– e sarà così a lungo

• Ma... il risultato di questa computazione NON dipendedal punto di vista! (è "view independent")

– può essere salvato nella scena (“baked” lighting)• come colore per vertice• o in una tessitura, etc

– e renderizzato in real-time tramite rasterizzazione:• almeno finché cambia solo il punto di vista

– (ne' l'illuninazione, ne' la scena)• togliendo il lighting (almento le componenti AMBIENT e DIFFUSE)

Page 4: Computer Graphics Ray-Tracingvcg.isti.cnr.it/~tarini/teaching/cg11/Lez15.Raytracing...Microsoft PowerPoint - Lez15.Raytracing.Radiosity.ppt [Compatibility Mode] Author tarini Created

4

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Radiosity: Costo

• Approssimazione (al prim’ordine) di Radiosity:– “ambient occlusion”!

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 1 / 1 2 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Radiosity: esempi di risultati