Agumented Ray Tracer
Transcripción
Agumented Ray Tracer
Outline Introducción Funcionalidades del Ray Tracer Agumented Ray Tracer Hugo E. Dueñas DEMAT, Universidad de Guanajuato 5 de junio de 2012 Hugo E. Dueñas Agumented Ray Tracer Outline Introducción Funcionalidades del Ray Tracer Introducción Ray Tracing Péliculas Animadas Funcionalidades del Ray Tracer Hugo E. Dueñas Agumented Ray Tracer Outline Introducción Funcionalidades del Ray Tracer Ray Tracing Péliculas Animadas Ray Tracing Ray Tracing es una técnica para generar imagenes por medio de de la traza de rayos de luz a través de los pixeles de la imagen y la simulación de efectos cuando éste intersecta los objetos virtuales. Esta técnica permite producir imagenes con un alto grado de realismo, pero a un costo computacional también muy alto. Por eso es que no suele usarse en aplicaciones en tiempo real como videojuegos. Se utiliza en aplicaciones que no requieren tiempo real tales como animación 3D y efectos especiales. Hugo E. Dueñas Agumented Ray Tracer Outline Introducción Funcionalidades del Ray Tracer Ray Tracing Péliculas Animadas Rendering El proceso de rendering es el proceso final en la creación de una imagen o animación. Para el rendering de una animación se renderiza cada uno de los cuadros (frames) que conforman la animación y finalmente se genera un video que muestra estos cuadros a una velocidad fijada (comunmente son usados 24 ó 30 fps). Hugo E. Dueñas Agumented Ray Tracer Outline Introducción Funcionalidades del Ray Tracer Ray Tracing Péliculas Animadas ToyStory 3 De acuerdo con la edición de Julio de 2010 de la revista Wired el rendering de Toy Story 3 tomó 7 horas por cuadro en promedio. La pélicula dura 103 minutos y consta de 24 cuadros por segundo: 7 hrs x 24 fps x 60 s/min x 103min = 1,038,240 hrs = 117 años Estoy es sin incluir escenas borradas ni renders de prueba. Hugo E. Dueñas Agumented Ray Tracer Outline Introducción Funcionalidades del Ray Tracer Visión general I Antialiasing mediante supersampling en los bordes. I Coeficiente de reflexión en los materiales. I RayTracing recursivo con profundidad máxima ajustable. I Extensión del lenguage LUA para realizar interpolaciones de transformaciones sobre nodos y fuentes de luz. I Opción para generar videos con duración y número de fps configurable. Hugo E. Dueñas Agumented Ray Tracer Outline Introducción Funcionalidades del Ray Tracer Antialiasing Ver videos. Hugo E. Dueñas Agumented Ray Tracer Outline Introducción Funcionalidades del Ray Tracer Coeficiente de reflexión Sintaxis: gr .material(diffuse, specular , reflection, shininess) diffuse, specular y reflection son 3-tuplas de números reales. Ejemplo: gr .material({0.9, 0.8, 0.4}, {0.8, 0.8, 0.4}, {1.0, 1.8, 1.0}, 25) Hugo E. Dueñas Agumented Ray Tracer Outline Introducción Funcionalidades del Ray Tracer Interpolaciones Todas las transformaciones se pueden aplicar tanto a nodos como a fuentes de luz. rotate(axis, angle, startTime, delay, numLoops) scale(x, y , z, startTime, delay, numLoops) translate(x, y , z, startTime, delay, numLoops) Para interpolar un sinnúmero de veces numLoops = 0. Para aplicar una transformación instantaneamente delay = 0. Para aplicar una transformación desde el inicio startTime = 0. Hugo E. Dueñas Agumented Ray Tracer Outline Introducción Funcionalidades del Ray Tracer Generación de videos Sintaxis: gr .render (sceneNode, fileName, imgWidth, imgHeight, eye, view , up, fov , ambient, lights, supersamplingSize, recursionDepth, elapsedTime, length, fps) Si supersamplingSize > 1 entonces se hará supersampling con una malla de supersamplingSize ∗ supersamplingSize rayos. recursionDepth es la profundidad máxima de la recursión del Ray tracing. elapsedTime es el tiempo en el que se inicia el render, especificado en segundos. length es la duración de la animación en segundos. fps es fps. Hugo E. Dueñas Agumented Ray Tracer Outline Introducción Funcionalidades del Ray Tracer Generación de videos Sintaxis: gr .render (sceneNode, fileName, imgWidth, imgHeight, eye, view , up, fov , ambient, lights, supersamplingSize, recursionDepth, elapsedTime, length, fps) Si queremos renderizar solo un cuadro, length = 0 y la extesión de el archivo ı́ndicado (fileName) debe de ser .png. Si queremos renderizar varios cuadros, length > 0 y la extensión de el archivo debe de ser .avi. Hugo E. Dueñas Agumented Ray Tracer