• Non ci sono risultati.

Computer Graphics

N/A
N/A
Protected

Academic year: 2021

Condividi "Computer Graphics"

Copied!
4
0
0

Testo completo

(1)

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

(2)

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 Project

inTrace 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 differente dal nostro pipeline di rasterizzazione.

Sfonderà?

(3)

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 corrsipondente e' 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 dipende dal 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)

(4)

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

Riferimenti

Documenti correlati

inTrace Realtime Ray Tracing Technologies GmbH MPI Informatik, Saarbrueken - Ingo Wald 2004 HW specializzato.. per

[r]

[r]

Flat shading Goraund shading Phong Shading (*) talvolta (ma impropriamente) detto: per-pixel lighting. quando si usano normali

[r]

di vista riflessa dalla norm.). Environment

[r]

[r]