Light Maps
-
Upload
kylemore-losty -
Category
Documents
-
view
24 -
download
3
description
Transcript of Light Maps
![Page 1: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/1.jpg)
Jose María Buades Rubio
Light MapsLight Maps
Iluminación mediante multitextura
![Page 2: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/2.jpg)
Multi-texturaMulti-textura
• Es la combinación de varias texturas sobre una superficie
• Puede estar acelerado por hardwareGL_ARB_multitexture
• Se puede realizar por software renderizando la misma superficie n veces, renderización multi-paso
![Page 3: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/3.jpg)
Multi-textura — Multi-pasoMulti-textura — Multi-paso
Multi-paso Multi-texturaSelect (texture) Select (texture, lightmap, fogmap)Draw (object) Draw (object)
Select (lightmap)Draw (object)
Select (fogmap)Draw (object)
...
![Page 4: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/4.jpg)
Light MapsLight Maps
• Es una técnica multitextura que consiste en precalcular la iluminación y guardarla en una textura bidimensional
• La ventaja es que la iluminación se puede calcular con cualquier método de iluminación global
• El efecto de realismo es mayor
![Page 5: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/5.jpg)
Técnica de iluminaciónTécnica de iluminación
• Valida para luces estáticas y objetos estáticos
• En los otros casos se realiza una aportación de luz mediante un método local o se recalcula el mapa de luz
• Mapas de luz son de menor resolución que las texturas de color
![Page 6: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/6.jpg)
EjemplosEjemplos
Frame renderizado usando un mapa de luz calculado mediante radiosidad, el cálculo
del mapa de luz llevó una hora
![Page 7: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/7.jpg)
Renderización solo con Renderización solo con mapa de luz, sin filtrarmapa de luz, sin filtrar
![Page 8: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/8.jpg)
Renderización solo con Renderización solo con mapa de luz filtradomapa de luz filtrado
![Page 9: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/9.jpg)
Renderización solo con Renderización solo con texturas y sin iluminacióntexturas y sin iluminación
![Page 10: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/10.jpg)
Renderización Renderización multitextura, sin filtrar el multitextura, sin filtrar el mapa de luzmapa de luz
![Page 11: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/11.jpg)
Renderización Renderización multitextura, filtrando el multitextura, filtrando el mapa de luzmapa de luz
![Page 12: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/12.jpg)
Soft ShadowsNo Soft Shadows
Sin filtrar
Filtrado
![Page 13: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/13.jpg)
Textura sin filtrado Mip-mapping filtrado
Mapa de luz sin filtrar Mapa de luz con filtrado lineal
![Page 14: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/14.jpg)
Escena renderizada con mip-mapping filtrado y mapa de luz aplicado
Mapa de niebla filtrado Combinación de todo
![Page 15: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/15.jpg)
Multitextura en OpenGLMultitextura en OpenGL
Determinar el numero de unidades de texturizacion
int iTextureUnits;
glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &iTextureUnits);
![Page 16: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/16.jpg)
Multitextura en OpenGLMultitextura en OpenGL
Seleccionar la unidad de texturización a la que se refieren las funciones
glActiveTextureARB(GL_TEXTUREi_ARB);
Donde i se refiere a la i-esima unidad de texturización 0 i k –1, k el numero de unidades de texturización
![Page 17: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/17.jpg)
Multitextura en OpenGLMultitextura en OpenGL
Especificar la coordenada de la textura para cada unidad
glBegin(GL_QUADS);
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0, 0);
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.1, 0.2);
glVertex3f(0, 0, 0);
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 1, 0);
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0.1, 0.8);
glVertex3f(0, 0, 0);
…
glEnd();
![Page 18: Light Maps](https://reader036.fdocuments.us/reader036/viewer/2022081519/568136eb550346895d9e7f5b/html5/thumbnails/18.jpg)
Ejemplo: Ejemplo: Demo.Demo.zipzip