• Non ci sono risultati.

Computer Graphics

N/A
N/A
Protected

Academic year: 2021

Condividi "Computer Graphics"

Copied!
3
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 2012/13

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 2 / 1 3 ‧ 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 2 / 1 3 ‧ 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 2 / 1 3 ‧ 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 2 / 1 3 ‧ 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 2 / 1 3 ‧ 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 2 / 1 3 ‧ 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 2 / 1 3 ‧ 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 2 / 1 3 ‧ 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 2 / 1 3 ‧ 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:

– GPU non pensata per ray-tracing

– 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 2 / 1 3 ‧ 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 2 / 1 3 ‧ 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?

(esperimenti negli anni

2000)

(3)

3

RayTracing su GPU (es su 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 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a 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 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

“Real Time Ray-Tracing: The End of Rasterization?” (Jeff Howard )

Un paragone meno forzato

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 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Ray-tracing (VS rasterization-based):

semplicità ed eleganza?

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 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

un intero raytracer su una buseness card :-P !

(by Paul Heckbert)

Ma…

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 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Rasterization is fast, but needs cleverness to support complex visual effects.

Ray tracing supports complex visual effects, but needs cleverness

to be fast.

David Luebke (NVIDIA)

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]