Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porGabriel Chávez Cabrera Modificado hace 8 años
1
Jose María Buades Rubio Light Maps Iluminación mediante multitextura
2
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
3
Multi-textura — Multi-paso Multi-pasoMulti-textura Select (texture)Select (texture, lightmap, fogmap) Draw (object)Draw (object) Select (lightmap) Draw (object) Select (fogmap) Draw (object)...
4
Light Maps Es una técnica multitextura que permite 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
5
Té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
6
Ejemplos Frame renderizado usando un mapa de luz calculado mediante radiosidad, el cálculo del mapa de luz llevó una hora
7
Renderización solo con mapa de luz, sin filtrar
8
Renderización solo con mapa de luz filtrado
9
Renderización solo con texturas y sin iluminación
10
Renderización multitextura, sin filtrar el mapa de luz
11
Renderización multitextura, filtrando el mapa de luz
12
Soft ShadowsNo Soft Shadows Sin filtrar Filtrado
13
Textura sin filtradoMip-mapping filtrado Mapa de luz sin filtrarMapa de luz con filtrado lineal
14
Escena renderizada con mip-mapping filtrado y mapa de luz aplicado Mapa de niebla filtradoCombinación de todo
15
Multitextura en OpenGL Determinar el numero de unidades de texturizacion int iTextureUnits; glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &iTextureUnits);
16
Multitextura 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
17
Multitextura 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();
18
Ejemplo: Demo.zip Demo.zip
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.