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

Documentos relacionados