Maximiliano Monterrubio Gutiérrez

Slides:



Advertisements
Presentaciones similares
Dispersión clásica de partículas cargadas
Advertisements

Capítulo 34B – Reflexión y espejos II (analítico)
Capítulo 34A - Reflexión y espejos (geometría)
Capítulo 36 - Lentes Presentación PowerPoint de
Espejos planos y curvos
-Propagación de la Luz -Óptica
Z Y X LUZ POLARIZADA PLANA Sean dos campos eléctricos ortogonales
Redes Locales LAN II Local Area Network.
Sistemas de Graficación
Para preparar el examen Problemas sobre luz y sonido
Multiprocesadores 3.1 Dominios de aplicación
PROPIEDADES ONDULATORIAS
Determinación de la reflexión de la luz
PROGRAMACIÓN PARALELA Tema 5: Análisis de algoritmos paralelos
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
Creación del prototipo de la red del campus
Impedancia características de la línea de transmisión
SUBTEMA ESPEJOS. Cuando la luz llega a la superficie de un cuerpo, ésta se refleja total o parcialmente en todas direcciones. Si la superficie es.
SUBTEMA REFLEXIÓN DE LA LUZ.
Cuando un rayo de luz que se propaga a través de un medio homogéneo encuentra en su camino una superficie bien pulida, se refleja en ella siguiendo una.
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.
REFLEXIÓN DE LA LUZ.
Transferencias de Zona:
Modelado en 3D y Composición de Objetos
Modelos de iluminación global THE WHITTED IMAGE - BASIC RECURSIVE RAY TRACING Copyright © 1997 A. Watt and L. Cooper.
Universidad Centroamericana
Profesor: Miguel Angel Vidal
Reconstrucción 3D mediante campos de reflectancia. Asesor: Miguel Arias Estrada. Estudiante: María Luisa Rosas Cholula.
LA REFLEXIÓN DE LA LUZ: ESPEJOS
REDES DE COMPUTADORAS.
R E F L X I Ó N.
REDES I CARRERA DE INGENIERÍA DE SISTEMAS Ing. Moisés Toapanta, MSc. Guayaquil, mayo del 2014.
Modelado Arquitectónico
REFLEXIÓN Y REFRACCIÓN DE LA LUZ
GEOMETRÍA ANALÍTICA ESPACIO RECTAS Y PLANOS
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
GEOMETRÍA ANALÍTICA ESPACIO RECTAS Y PLANOS
Modelos de iluminación
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.
Hecho por: Celeste Amalvy Y Victoria D´Arrisso. Funcionalidades. Localizar un ordenador de forma inequívoca. Realizar una conexión con otro ordenador.
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.
Cámara fotográfica digital compacta
Capítulo 35 Aparatos Opticos
Construcción de imágenes en espejos y lentes
Diagramas de Despliegue
Iluminación.
Informática Médica: Procesamiento de imágenes
BAÚL DE PALABRAS DE MULTIMEDIA ELIZABETH RAMÍREZ.
Una introducción a la computación evolutiva
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.
Iluminación Global: Mapa de Fotones
TEMA 10: DIAGRAMA DE: OBJETOS, SECUENCIA Y DESPLIEGUE EN UML
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
Óptica II Parte..
Geometría primitiva y Transformaciones
TELEINMERSION  TELEINMERSION: Se utiliza a medido la conferencia  La interacción humana: Tiene elementos verbales y no verbales  Videoconferencia:
Servicio Remoto de Monitoreo
GEOMETRÍA ANALÍTICA ESPACIO RECTAS Y PLANOS
LA LUZ Y LA ,ÓPTICA GEOMÉTRICA
2.1 TOPOLOGIAS DE RED OBJETIVO : QUE EL ALUMNO IDENTIFIQUE Y SEA CAPAZ DE DESCRIBIR CADA UNA DE LAS TOPOLOGIAS DE RED. COMPETENCIAS A DESARROLLAR: 4.-
YUBER ANDRÉS LOAIZA OROZCO SERVIDOR PROXY GESTIÓN DE REDES DE DATOS.
Objetivo: Comprender la ley de la reflexión y los tipos de espejos
OPTIMIZACION DEL DESEMPEÑO DE ERROR
Tema 2. Campo electrostático
Módulo 7: Resolución de nombres NetBIOS mediante el Servicio de nombres Internet de Windows (WINS)
Óptica FISICA III – II 2010 MAC. Fisica III --- UBB2 La naturaleza dual de la luz C. Huygens (1678): Teoría Ondulatoria de la Luz –La luz.
Rep.IluminaciónA. García-Alonso1 >> Representación
Rep.A. García-Alonso1 >> Representación
Transcripción de la presentación:

Maximiliano Monterrubio Gutiérrez Síntesis de Imágenes usando Ray Tracing Procesos Paralelos y Distribuidos Maximiliano Monterrubio Gutiérrez

Introducción ¿Qué es un Ray Tracer? ¿Cómo funciona?

¿Qué es un Ray Tracer? Es un algoritmo de síntesis de imágenes tridimensionales resultado de colocar un observador detrás de un plano focal. Capturamos los rayos de luz incidentes en el plano focal del observador por medio del concepto de rayo, el cual es en realidad una recta paramétrica , e intersecciones con objetos. Simula el viaje de la luz en sentido inverso. El algoritmo es sencillo y muy fácil de extender.

¿Cómo funciona un Ray Tracer?

Características del Proyecto ¿Cómo está organizada la aplicación? ¿Qué se puede hacer con ella?

Diagrama de bloques Primitivos Parser XML S. Distribuida Ray Tracer Álgebra lineal S. Distribuida Primitivos Parser XML

El parser de documentos de escena La entrada del programa es un documento XML que especifica la escena a sintetizar. El documento XML especifica parámetros globales como la posición de la cámara, resolución del plano focal y número de muestras por píxel. Adicionalmente se especifican todos los primitivos, tanto ubicación como geometría, así como el material de cada primitivo.

Características globales de una escena Resolución del plano focal expresado como ancho y altura medida en píxeles. Ubicación del observador en el espacio tridimensional. Vector de dirección del observador (hacia dónde voltea). Número de muestras (rayos a disparar) por píxel.

Primitivos soportados Objetos trazables: Cubos alineados a los ejes X, Y, Z. Planos infinitos (notación posición/normal). Esferas. Iluminación Luz puntual omnidireccional. Luz de superficie.

Materiales Un material es un parámetro de un primitivo que especifica cómo refleja la luz (se le dice material porque especifica de qué está hecho). Parámetros soportados: Color del material. Coeficiente difuso. Coeficiente especular. Dureza especular. Coeficiente de reflexión. Coeficiente de refracción. Índice de refracción.

El subsistema de álgebra lineal Hay que hacer las cuentas. Se implementaron: Vectores tridimensionales. Matrices de transformación. Representación de punto flotante de colores en las bandas RGB.

El motor de síntesis Funcionalidad y características

Características generales del motor Algoritmo de Ray Tracing recursivo con rebote configurable. Soporte de multimuestreo por píxel. Implementación paralela libre de espera y libre de bloqueos.

Manejo de materiales Shader difuso con modelo de iluminación de Lambert. Shader especular. Soporte para reflexión y refracción haciendo ray tracing recursivo.

Ray tracing multithreaded ¿Cómo paralelizar este proceso? ¿Qué decisiones se tomaron para implementar la síntesis multithread?

Paralelizando el motor El proceso de paralelizar el motor de síntesis es muy sencillo, ya que cada muestra (rayo a disparar) es totalmente independiente de las demás. Simplemente hay que particionar el plano focal y distribuir uniformemente dicha partición entre el número total de hilos de ejecución. ¡No tan rápido! Existen consideraciones que hay que tomar.

Consideraciones a tomar. Balanceo de carga ¿Qué hay que hacer para que se balancee lo más uniformemente posible la carga para cada hilo? Caché Hay que sacarle jugo, una implementación ingenua puede quitarnos esta ventaja.

El balanceador de cargas Intenta resolver los problemas mencionados. Solución para el caché: Partir la imagen en pequeños cuadrados y sintetizar por localidades: Esto intenta minimizar la penalización de fallo en el caché. Solución para el balanceo de carga por hilo: Aleatorizar la lista de cuadrados: Así la probabilidad de que un hilo le toque una escena muy poblada de primitivos se distribuye más uniformemente.

Rendering Distribuido ¿Cómo se implementó? ¿Qué decisiones se tomaron para implementar este componente?

¿Cómo funciona? Arquitectura cliente/servidor. Por medio de TCP/IP. El servidor dice qué escena se va a sintetizar y qué le toca a cada quién. El cliente realiza el trabajo dado por el servidor y envía sus resultados. Se establece un protocolo sencillo de comunicación entre el servidor y los clientes.

El protocolo Servidor Cliente Contesto enviando la escena en XML Voy recibiendo velocidad/hilos por cada nodo. Al terminar de recibirlos todos, envío las piezas que le toca a cada quien ya balanceadas. Al ir recibiendo resultados, voy mostrando en pantalla Cliente Me conecto al servidor Recibo la escena y envío cuántos hilos voy a ejecutar y mi velocidad de reloj. Recibo las piezas que me tocan y procedo a sintetizar. Envío mis resultados progresivamente.

Cosas por hacer ¿Qué faltó? ¿Por qué faltó? ¿Qué habría que hacer para implementarlo?

¿Qué falto? Materiales: Algoritmos de iluminación global: Ley de Beer en refracción de luz (modela la atenuación a través del medio denso). Texturas. Ecuaciones de Fresnel. Algoritmos de iluminación global: Ambient Occlusion. Path tracing. Más primitivos: Mallas de triángulos. NURBS (Non-Uniform Rational B-Spline).

Resultados ¿Cómo se comportó? ¿Qué problemas hubo?

¿Cómo se comportó? Motor de síntesis Síntesis en paralelo Calidad de imagen buena. Síntesis en paralelo Una decepcionante mejora en desempeño entre 15% y 20% al usar los dos núcleos. (Blender3D lo hace muy cerca del doble de velocidad). Introducción de ruido de sal y pimienta. Al parecer resultado de un problema de sincronización (NO ENTIENDO POR QUÉ). Síntesis distribuida Buenos resultados, las cargas se balancean y no hubieron problemas de red. Se probó en Internet y aunque jala muy lento por la red, no hubieron problemas de transmisión de datos.

Demostración