La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Environment Mapping Tamiazzo Claudio EGD07. Cosè Tecnica utilizzata in grafica digitale allo scopo di realizzare oggetti riflettenti senza ricorrere agli.

Presentazioni simili


Presentazione sul tema: "Environment Mapping Tamiazzo Claudio EGD07. Cosè Tecnica utilizzata in grafica digitale allo scopo di realizzare oggetti riflettenti senza ricorrere agli."— Transcript della presentazione:

1 Environment Mapping Tamiazzo Claudio EGD07

2 Cosè Tecnica utilizzata in grafica digitale allo scopo di realizzare oggetti riflettenti senza ricorrere agli onerosi calcoli computazionali del RayTracing.

3

4 Come Funziona Lenvironment mapping permette di realizzare superfici riflettenti utilizzando delle textures rappresentanti lambiente da riflettere La riflessione dipende da una environment map nella quale è proiettata limmagine da riflettere In base al punto di vista, si effettuano i calcoli per determinare limmagine riflessa

5

6 Tecniche più Diffuse Standard Environment Mapping, o più comunemente detta Spherical Environment Mapping. Cube Environment Mapping

7 Spherical Environment Mapping Sviluppata da Blinn e Newell Si basa sullutilizzo come environment map di una sfera texturizzata Solitamente la texture consiste in unimmagine ottenuta con una macchina fotografica con lenti a grandangolo

8 Foto ottenuta con lente fisheye Effetto ottenuto con lo spherical E.M.

9 Spherical Environment Mapping Questa tecnica porta con se delle grosse limitazioni legate al punto di vista dellutente nella scena 3D Una volta che il punto di vista cambia, sarebbe necessario disporre di una texture apposita per ogni angolazione

10 Fronte Retro Riflessione corretta Riflessione incoerente

11 Cube Environment Mapping Tecnica che utilizza il cube mapping per ottenere oggetti riflettenti Una cube map consiste in 6 textures quadrate che vanno a formare una environment map cubica

12 Esempio: environment map di un paesaggio da riflettere ottenibile con sei foto fatte in sei direzioni diverse

13 Cube Environment Mapping Per realizzare una superficie riflettente si calcola il raggio dal punto di vista alloggetto ed, in base alla normale, il raggio riflesso che va a intercettare un punto su una delle sei facce del cubo. Il colore intercettato sulla texture sarà il colore da riportare sulloggetto nel punto di riflessione

14

15

16 Cube Mapping In OpenGL Creazione Cube Map glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, GL_RGBA, imageSize, 0,GL_RGBA, GL_UNSIGNED_BYTE,image1); glTexImage2D(GL_TEXTURE_CUBE_MAP_NEGATIVE_X, 0, GL_RGBA, imageSize, 0,GL_RGBA, GL_UNSIGNED_BYTE,image2);.

17 Cube Mapping In OpenGL Settaggio wrapping e filtering glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_REPEAT);

18 Cube Mapping In OpenGL Generazione delle coordinate della cube map texture glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_REFLECTION_MAP); glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_REFLECTION_MAP); glTexGeni(GL_R, GL_TEXTURE_GEN_MODE, GL_REFLECTION_MAP);

19 GL_REFLECTION_MAP vs GL_NORMAL_MAP GL_REFLECTION_MAP GL_NORMAL_MAP Immagini realizzate con programma cubemap.c da http://developer.nvidia.com/

20 Cube Mapping In OpenGL Abilitazione texturing glEnable(GL_TEXTURE_CUBE_MAP_EXT); glEnable(GL_TEXTURE_GEN_S); glEnable(GL_TEXTURE_GEN_T); glEnable(GL_TEXTURE_GEN_R);

21 Applicazioni Cinematografiche Flight of the navigator, 1986: Superficie della navicella realizzata Con luso dell environment mapping Terminator 2: Judgement Day-1991 Il cyborg T1000 nelle sue metamorfosi è una delle più celebri applicazioni dellenvironment mapping

22 Bibliografia Libri: OpenGl Programming Guide di Shreiner, Woo, Neider, Davis Rete: http://www.debevec.org/ReflectionMapping/ http://www.developer.com http://en.wikipedia.org/wiki/Reflection_mapping http://developer.nvidia.com


Scaricare ppt "Environment Mapping Tamiazzo Claudio EGD07. Cosè Tecnica utilizzata in grafica digitale allo scopo di realizzare oggetti riflettenti senza ricorrere agli."

Presentazioni simili


Annunci Google