Light Maps

18
Jose María Buades Rubio Light Maps Light Maps Iluminación mediante multitextura

description

Light Maps. Iluminación mediante multitextura. Multi-textura. Es la combinación de varias texturas sobre una superficie Puede estar acelerado por hardware GL_ARB_multitexture Se puede realizar por software renderizando la misma superficie n veces, renderización multi-paso. - PowerPoint PPT Presentation

Transcript of Light Maps

Page 1: Light Maps

Jose María Buades Rubio

Light MapsLight Maps

Iluminación mediante multitextura

Page 2: Light Maps

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

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

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

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

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

Renderización solo con Renderización solo con mapa de luz, sin filtrarmapa de luz, sin filtrar

Page 8: Light Maps

Renderización solo con Renderización solo con mapa de luz filtradomapa de luz filtrado

Page 9: Light Maps

Renderización solo con Renderización solo con texturas y sin iluminacióntexturas y sin iluminación

Page 10: Light Maps

Renderización Renderización multitextura, sin filtrar el multitextura, sin filtrar el mapa de luzmapa de luz

Page 11: Light Maps

Renderización Renderización multitextura, filtrando el multitextura, filtrando el mapa de luzmapa de luz

Page 12: Light Maps

Soft ShadowsNo Soft Shadows

Sin filtrar

Filtrado

Page 13: Light Maps

Textura sin filtrado Mip-mapping filtrado

Mapa de luz sin filtrar Mapa de luz con filtrado lineal

Page 14: Light Maps

Escena renderizada con mip-mapping filtrado y mapa de luz aplicado

Mapa de niebla filtrado Combinación de todo

Page 15: Light Maps

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

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

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

Ejemplo: Ejemplo: Demo.Demo.zipzip