TexturasTexturas Visualización Computacional II. Horarios (again…) LUNES 26/10: Aula 2 Facultad (19 hs.): Introducción MARTES 27/10: Aula 2 Facultad (19.

Slides:



Advertisements
Presentaciones similares
PERCEPCIÓN Y LECTURA DE IMÁGENES
Advertisements

INTRODUCCION A LA GEOMETRIA ANALITICA
Informática Gráfica Kevin Calle Martínez 1º Bach.
Desarrollo de Juegos de Video en 3D
Sistemas de Graficación
Funciones En nuestra vida cotidiana tenemos experiencia con relación o correspondencias de magnitudes . Ejemplos : En un almacén , a cada producto le corresponde.
Capítulo 15 Paquete de Dragado
Conceptos Básicos de Visión
Maximiliano Monterrubio Gutiérrez
M.I.A Daniel Alejandro García López
Descartes 2.0 Edición de de escenas Escena Acceso al editor Doble clic dentro de la escena.
TECNOLOGIA LIGTH BLUE OPTICS Nicolas del castro. El láser azul ha sido conocido por casi todo el mundo, gracias a la aparición del Blu-ray, pero esta.
Ariel Brunetto Director Aquadize Studios
Visualización Computacional II
Java Binding for the OpenGL API Unidad III. ¿Qué es OpenGL? Open GL es un entorno de desarrollo portable de aplicaciones gráficas interactivas en 2D y.
Unidad IV: Modelado de la terminación superficial
Desarrollo de Juegos de Video en 3D
Ascii art - Pixel art – Vector art Modelado 3d – Fotografia HDR
Curso de Photo Paint David Escudero Mancebo Alfonso Pedriza Rebollo
ILUMINACIÓN Un modelo de iluminación sirve para asignar un valor de iluminación a los puntos de la imagen. Se define una ecuación de iluminación. Lighting.
Modelado en 3D y Composición de Objetos
Real Time Global Illumination for Dynamic scenes Alejandro Drago Cesar Villasana
Texturas 3D Pierre Sergei Zuppa Azúa.
Procesamiento digital de Imágenes
Gráficos y Visualización 3D
VECTORES VS PIXELES Por Drako.
Con Flash se puede crear contenido web animado y basado en vectores. Utiliza gráficos vectoriales que son independientes de la resolución y por lo tanto.
Aplicación de textura (“Texture Mapping”) Rhadamés Carmona Ultima revisión: 29/01/2004.
Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.
GRAFICOS 3D POR COMPUTADORA. La graficación por computadora es una de las áreas más importantes de las ciencias de la computación y su principal objetivo.
(Organización y Manejo de Archivos)
Ray Tracing. -La primera noción del Ray Tracing se remonta a Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando.
LUZ Espectro Electromagnético Teoría del Color Propiedades de la Luz.
Despliegue de Volúmenes
Carlos Carrasco de Pedro Daniel Sanz Sanfructuoso
Iluminación.
Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.
Mapeo de Texturas Capitulo 9 de Angel. Detalle de superficie Hasta ahora hemos visto como crear superficies uniformes planas o bicúbicas, y hemos animado.
Edición de imágenes Feb Imágenes digitales Las imágenes digitales las podemos clasificar en dos grupos: Imágenes de mapa de bits. Son imágenes.
Jose María Buades Rubio Visibilidad en Escenas Complejas Entorno de Habitaciones Carretera y Circuitos de carreras.
Temas de hoy • Potencial Eléctrico definido
Tema 3: Filtros.
MoMento S Grupo 33: Ignacio Ayllón Benito Félix A. Velázquez Salas.
Computación Gráfica I – CI4321
Sombreado.
ILUMINACIÓN Graficación FCC. Definición Los modelos de iluminación determinan el color de la superficie en un punto dado. También son conocidos como modelos.
Visualización Computacional 2
Proyectos fin de carrera
Viscomp I 2011 – Práctico 3. Tp1: ok Tp2: 9/6 Tp3: 30/6 Próxima clase: 16/6.
Rep.TexturasA. García-Alonso1 >> Representación
Dispositivos gráficos de salida
Laboratorio de Computación Grafica Universidad Central de Venezuela
Medición.
1.Escalares, vectores y el álgebra vectorial 2.Funciones vectoriales de varias variables 3.Diferenciación parcial 4.El gradiente, la divergencia y el.
Por: Ernesto Y. Soto Rivas G
1.Sistemas de ecuaciones lineales 2.Álgebra de matrices 3.Determinantes 4.Geometría de los vectores 5.Espacios vectoriales 6.Valores propios y diagonalización.
Luciano Reyes Itzel Elvira
Jose María Buades Rubio Light Maps Iluminación mediante multitextura.
Graficación 2D Alumna: Yasmin Rosales Cruz
ESTADO DE DEFORMACIÓN EN PUNTO DE UN MEDIO CONTINUO
Shaders de geometría Explosiones y “efecto arena” Programación avanzada sobre tarjetas gráficas Pedro Zuñeda Garrido.
Generación Procedural de Terrenos en la GPU
Texturas.
Jose María Buades Rubio Bump Mapping Efecto de relieve a los polígonos.
ÓPTICA GEOMÉTRICA Estudia: La naturaleza de la luz.
Rep.TexturasA. García-Alonso1 >> Representación
Rep.IluminaciónA. García-Alonso1 >> Representación
Rep.A. García-Alonso1 >> Representación
Rep.PoliedrosA. García-Alonso1 >> Representación
Transcripción de la presentación:

TexturasTexturas Visualización Computacional II

Horarios (again…) LUNES 26/10: Aula 2 Facultad (19 hs.): Introducción MARTES 27/10: Aula 2 Facultad (19 hs.): Texturas  MIERCOLES 28/10: Aula 2 Facultad (19 hs.): Técnicas de iluminación avanzadas JUEVES 29/10: Aula 3 Facultad (19 hs.): Sombras VIERNES 30/10: Aula 2 Facultad (19 hs.): Animación - [Física] LUNES 2/11: A determinar: [Física] - Optimización

Crysis, Crytek - EA

Texturas - Resumen ¿Por qué usar texturas? Introducción Conceptos básicos Interpolación Mapeo Tiling Mipmapping Usos adicionales Texturas procedurales Lightmaps Bump Mapping Environment Mapping

Texturas - ¿Por qué usar texturas? ¿Podemos representar todo con geometría?

Texturas - ¿Por qué usar texturas? Sería costoso y complicado representar TODO con geometría. Ej. MUY Simple: ¿Qué pasaría con una etiqueta?.

Texturas - ¿Por qué usar texturas?

The Guild II - 4Head Game Studios Unreal 3 – Epic Studios

Texturas - Introducción Podemos utilizar la textura para modifcar alguna o todas las vars / ctes. de la ecuación de iluminación (color de pixel, color difuso, alterar normal, etc.) Textura usada como color cte. Textura usada como color difuso. Textura usada como normal map.

Texturas - Introducción Para cada polígono se establece una correspondencia con la textura.

Texturas - Mapeo e Interpolación ¿Podemos interpolar de manera directa linealmente los valores en el espacio de la pantalla?. (0,0)(1,0) (0,1)

Texturas - Mapeo e Interpolación texturaresultadoesperado Interpolación lineal en espacio de coord. de pantalla:

Texturas - Mapeo e Interpolación Podemos reducir los errores subdividiendo el modelo en triangulos más pequeños. Igualmente persisten los “errores”.

Texturas - Mapeo e Interpolación Los pasos uniformes de la interpolación en el plano de la pantalla no se corresponden con los pasos uniformes de la interpolación a lo largo del triángulo. Soluc.: Interpolación en el espacio [automática x OpenGL]

Texturas – Mapeo Se especifica una coordenada (u,v) para cada vértice. Coordenadas canónicas (0,0) (1,0) (0,0,0)(3,0,0) (0,3,0) (0,0) (1,1) glEnable(GL_TEXTURE); glBindTexture(texID); glbegin(GL_TRIANGLES); glVertex3f(0.0, 0.0, 0); glTexCoord2f(0,0); glVertex3f(0.0, 3.0, 0); glTexCoord2f(0,1); glVertex3f(3.0, 0.0, 0); glTexCoord2f(1,0); glend;

Texturas - Tipos de mapeo Generar automáticamente las coordenadas de textura: glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP); glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP); glEnable(GL_TEXTURE_GEN_S); glEnable(GL_TEXTURE_GEN_T); Tipos: GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_REFLECTION_MAP

Texturas - Mapeo Truco: Coordenadas de textura en una matriz adicional (Texture Matrix). Aplicar transformaciones a esa matriz para modificar las coordenadas.

Texturas - Tiling tiles sin bordestiles con bordes visibles (0,0)(3,0) (0,3) (0,0) (1,1) (0,0)(3,0) (0,3) (0,0) (1,1)

Texturas - Mipmapping Del Latín “Multum In Parvo” (muchos en un lugar pequeño). gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, 128, 128, GL_RGBA, GL_UNSIGNED_BYTE, image); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);

Texturas - Mipmapping Se pueden almacenar de manera compacta. Mínimo overhead para mantener un MIP map. Mip map de 10 niveles. Almac. en memoria

Texturas - Variables

Texturas - Masking “Recortar” parte de un gráfico (según color o siguiendo un patrón) Dar aspecto de transparencia a lo que se ha recortado

Texturas - Masking Alpha Test: Se hace sobre el valor de la componente alpha que se está evaluando. Una función y un valor de referencia, según el resultado se acepta o se rechaza el fragmento. glEnable(GL_ALPHA_TEST); glAlphaFunc (GL_GREATER, 0.1); GL_NEVER: Nunca acepta el fragmento. GL_ALWAYS: Siempre acepta el fragmento. GL_LESS: Acepta el fragmento si Alpha origen < Alpha referencia GL_LEQUAL: Acepta el fragmento si Alpha origen <= Alpha referencia GL_EQUAL: Acepta el fragmento si Alpha origen = Alpha referencia GL_GEQUAL: Acepta el fragmento si Alpha origen >= Alpha referencia GL_GREATER: Acepta el fragmento si Alpha origen > Alpha referencia GL_NOTEQUAL: Acepta el fragmento si Alpha origen <> Alpha referencia

Texturas - Masking glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA) glEnable(GL_BLEND) Alpha Blending: Se hace sobre el valor de la componente alpha que se está evaluando, combinando un fragmento con otro Probar!! (uds.)

Texturas - Uso de luces ¿Cuántas luces vemos en la escena? ¿Cálculo? ¿Ideas, opciones?

Texturas - Lightmaps La utilización de luces brinda realismo a nuestras escenas, pero ¿cuál es el límite?. Notar que la mayoría de luces en una escena son estáticas. ¿Se puede aprovechar de alguna manera esto para precalcular sombras e iluminaciones?. +=

Texturas - Lightmaps Dibujar la geometría dos veces con distinta textura. Costo memoria. Costo GPU. Lightmaps de poca resolución. ¿Coordenadas?.

Texturas - Lightmaps Mejora: Utilización de multitextura Diferentes texturas a un mismo objeto. Coordenadas de texturas independientes. ¿Posibles usos?.

Texturas - Bump Mapping Usar la textura para alterar la normal del polígono. Esfera con textura (difuso) Bump MapEsfera con textura (difuso y bump map) Ganar detalle sin incrementar la geometría

Texturas - Bump Mapping Tomar la textura como una función de desplazamiento. Calcular la normal a partir de esa función. Diferentes opciones de implementación  DESORDEN

Texturas - Bump Mapping (Fake) Zonas negras  Menor relieve Zonas blancas  Mayor relieve Utilización de multitexturas. Desplazamiento de la textura de Bump de acuerdo a la luz.

Texturas - Bump Mapping (Per Pixel) Utilización de un Normal Map. Nuevas aproximaciones en tiempo real mediante shaders. Idea de Per-pixel lighting. Los componentes XYZ son reescalados del rango [-1, 1] a [0, 255] Por ejemplo el vector [0, 0, 1] (Normal perpendicular entrante) sería convertido a [127, 127, 255], el azul violáceo q predominan en estas texturas.

Texturas - Bump Mapping norm = vec3(texture2D(sampler2d, vec2 (gl_TexCoord[0]))); norm = (norm - 0.5) * 2.0; intensity = max(dot(lightDir, norm), 0.0) * diffuseFactor; Norm: Valor de 0 a 1 Norm - 0.5: Valor de -0.5 a 0.5 (Norm - 0.5) * 2: Valor de -1 a 1

Texturas - Environment Mapping Objetivo: Renderizar un objeto como si fuera perfectamente reflectivo. Las reflexiones que vemos en el objeto dependen de: Posición del espectador. Forma del objeto. Environment Map es una aproximación (se asume que los objetos del entorno están muy lejos del objeto reflectivo)

Texturas - Environment Mapping Se utiliza la dirección del rayo reflectado para indexar una posición en una textura con coordenadas esféricas. Se asume que todos los rayos comienzan en el mismo punto.

Texturas - Environment Mapping

Texturas - Texturas procedurales F(x,y,z)  color

Texturas - Texturas procedurales Ventajas: Fácil de implementar en un raytracer/shaders. Menos espacio. Resolución infinita. Desventajas: No intuitivo. Sirven para situaciones puntuales.

Texturas - Texturas procedurales