Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoSettimio Salvatore Modificato 10 anni fa
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.
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
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
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.