PDF de programación - Yafrid-NG: Mejora de un sistema Grid Computacional para el render de escenas 3D

Imágen de pdf Yafrid-NG: Mejora de un sistema Grid Computacional para el render de escenas 3D

Yafrid-NG: Mejora de un sistema Grid Computacional para el render de escenas 3Dgráfica de visualizaciones

Actualizado el 2 de Marzo del 2020 (Publicado el 2 de Marzo del 2017)
1.213 visualizaciones desde el 2 de Marzo del 2017
4,1 MB
165 paginas
Creado hace 16a (14/12/2007)
UNIVERSIDAD DE CASTILLA-LA MANCHA
ESCUELA SUPERIOR DE INFORM ÁTICA

INGENIERÍA

EN INFORM ÁTICA

PROYECTO FIN DE CARRERA

Yafrid-NG: Mejora de un sistema Grid

Computacional para el render de escenas 3D

José Ángel Mateos Ramos

Diciembre, 2007

UNIVERSIDAD DE CASTILLA-LA MANCHA
ESCUELA SUPERIOR DE INFORM ÁTICA

Departamento de Informática

Yafrid-NG: Mejora de un sistema Grid Computacional para

el render de escenas 3D

José Ángel Mateos Ramos
Autor:
Director: Carlos González Morcillo

Diciembre, 2007.

TRIBUNAL:

Presidente:
Vocal:
Secretario:

FECHA DE DEFENSA:

CALIFICACI ÓN:

PRESIDENTE

VOCAL

SECRETARIO

Fdo.:

Fdo.:

Fdo.:

c José Ángel Mateos Ramos. Se permite la copia, distribución y/o modificación de este docu-
mento bajo los términos de la licencia de documentación libre GNU, versión 1.1 o cualquier versión
posterior publicada por la Free Software Foundation, sin secciones invariantes. Puede consultar esta
licencia en http://www.gnu.org.
Este documento fue compuesto con LATEX. Imágenes generadas con OpenOffice.

Resumen

El proceso de render es el último paso en la síntesis de imágenes 3D. En este proceso se
genera una imagen bidimensional a partir de la especificación tridimensional de una escena.
Durante el renderizado se decide el color de cada pixel que forma parte de la imagen resultado
en función de una serie de parámetros como son la colocación de la cámara, las fuentes de
luz, la geometría del objeto y otros aspectos relevantes.

La etapa de render requiere una gran capacidad computacional, es por ésto que se consi-

dera el cuello de botella en la generación de gráficos por computador.

El presente proyecto pretende reducir los tiempos empleados por el proceso de renderiza-
do haciendo uso de un conjunto de computadores heterogéneos, distribuídos en internet, que
ceden parte de sus ciclos de CPU para renderizar escenas tridimensionales.

II

Abstract

Rendering is the last step of 3D image synthesis process. During this process a 2D image
is generated from a 3D specification of a scene. Rendering phase consists in deciding which
color will be assigned to each pixel that compose the final image. This value depends on a set
of parameters such as the place where camera is, sources of light, geometry of the object and
some other important aspects.

Rendering stage is a computer intensive task and this is why it is considered the bottleneck

in computer graphics.

This project tries to reduce the time spent by the rendering stage using a set of hetero-
geneous computers, distributed over the Internet that will supply some of their resources for
rendering 3D scenes.

III

Con todo mi cariño para mis padres
y mi hermana, por permitirme llegar
hasta donde estoy. Os quiero.

IV

Agradecimientos

Ha sido mucha la gente que ha participado en este proyecto. Seguro que alguien se queda

en el tintero, espero que sepa perdonarme.

A Carlos Gonzalez Morcillo por su ayuda, su apoyo y su amistad. Es un verdadero lujo
trabajar contigo. A la gente del grupo Oreto por cederme un sitio en su laboratorio. Sois
unos compañeros perfectos y todavía tendréis que soportarme un poquito más. A Loren por
el camino recorrido, todo un placer. Seguimos adelante. A Nacho, Inés, Violeta e Iñaki por
compartir su mesa y sus sonrisas conmigo. A Chema por la revisión del documento y su
inminente visita.

Muchas Gracias a todos. Os llevo en mi corazón.

V

Índice general

Índice de figuras
Índice de cuadros
Índice de listados
Índice de algoritmos

1. Introducción

Justificación del trabajo .

1.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Estructura del documento . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Objetivos del proyecto

3. Antecedentes, estado de la cuestión

3.2. Middlewares .

.

.
Introducción .

.

.

.

3.1. Computación Grid .

.
Introducción .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2. Definición de Grid . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.3. Clasificación de Sistemas Grid . . . . . . . . . . . . . . . . . . . . .
3.1.4. Seguridad en el Grid . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.5. Redes P2P .
3.1.6. Métodos de Descomposición en Tareas
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2. CORBA .
3.2.3. RMI . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.4. Web Services/SOAP . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.5.
3.2.6. ZeroC ICE .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Síntesis de Imagen Realista . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introducción al proceso de síntesis . . . . . . . . . . . . . . . . . . .
3.3.1.
3.3.2. Métodos de Render . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.4. Sistemas relacionados .
.
.
. .

3.4.1. Dr Queue .
. .
3.4.2. BURP .

.NET Remoting .
.

. .

. .

. .

.
.

.

.

X

XII

XIII

XIV

1
3
3

5

8
9
9
10
11
13
18
20
24
24
25
28
29
32
33
44
44
46
52
52
53

VI

ÍNDICE GENERAL

4. Metodología de trabajo
.

Introducción .

.

.

.

.

.

.

.
.

.
.

4.6. Gestión de Nodos .

4.3.1. Arquitectura
4.3.2. Flujo de trabajo general

.
4.6.1. Problemática .
4.6.2. El servicio NodeManager

. . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.
.
4.2. Tecnologías utilizadas .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3. Arquitectura y funcionamiento del sistema . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
4.4. Procesamiento de la escena . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1. Obtención de información de la escena
. . . . . . . . . . . . . . . .
4.4.2. Calculando las unidades de trabajo . . . . . . . . . . . . . . . . . . .
4.5. Gestión de Sesiones con Yafrid-NG . . . . . . . . . . . . . . . . . . . . . .
4.5.1. Problemática .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.2. Sesión de renderizado . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.3. Gestor de sesiones de Yafrid-NG . . . . . . . . . . . . . . . . . . . .
4.5.4. Manteniendo la sesión activa . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
4.7. Obtención de recursos para el renderizado . . . . . . . . . . . . . . . . . . .
4.7.1. Protocolo de reserva de Nodos . . . . . . . . . . . . . . . . . . . . .
4.7.2. El objeto Renderer y la cola de Render
. . . . . . . . . . . . . . . .
Intercambio de archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8.1. Problemática .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8.2. Paso de un archivo . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8.3. La clase FileManager . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9. El proceso de Renderizado . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
4.10. Recuperación de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.10.1. La operación updateZone . . . . . . . . . . . . . . . . . . . . . . . .
4.10.2. El objeto Retrieve . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.10.3. La cola ResultManager . . . . . . . . . . . . . . . . . . . . . . . . .
4.11. Composición de la Imagen . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.12. Seguridad en Yafrid-NG . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.9.1. La operación render
4.9.2. El objeto RenderManager
4.9.3. Gestión de errores

4.8.

5. Resultados obtenidos
.

Introducción .

.

.

.

.

5.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2. Renderizado tradicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3. Renderizado con Yafrid-NG. Distinto numero de renderers . . . . . . . . . .
5.4. Renderizado con Yafrid-NG. Distintas unidades de trabajo . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
5.5. Comparativa de los resultados

VII

55
56
57
58
58
59
61
61
63
65
65
66
67
69
70
70
70
72
72
72
73
73
75
85
86
86
87
88
90
90
90
91
92
93

95
95
97
98
98
99

ÍNDICE GENERAL

VIII

.

.

. .

6. Conclusiones y propuestas
.

103
6.1. Conclusiones
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.2. Líneas de investigación futuras . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.2.1. Análisis previo de la escena . . . . . . . . . . . . . . . . . . . . . . 107
6.2.2. Mejoras en el paso de archivos . . . . . . . . . . . . . . . . . . . . . 109
6.2.3. Mejoras al proceso de renderizado . . . . . . . . . . . . . . . . . . . 109
6.2.4. Generación de estadísticas . . . . . . . . . . . . . . . . . . . . . . . 110
6.2.5. Replicación de los servicios
. . . . . . . . . . . . . . . . . . . . . . 110
6.2.6. Mejoras en la seguridad . . . . . . . . . . . . . . . . . . . . . . . . 112

ANEXOS

114

A. Referencia de Yafrid-NG
.

A.1. Vista general

.

.

.

.

.

A.2. Yafridng::File .

.

A.1.1.
A.1.2.
A.1.3.
A.1.4.

.
A.2.1. Vista general
A.2.2.

A.4. Yafridng::P2PBroker
A.4.1. Vista general
A.4.2.

A.3. Yafridng::FileStore .
A.3.1. Vista general
A.3.2.

114
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Ind
  • Links de descarga
http://lwp-l.com/pdf2517

Comentarios de: Yafrid-NG: Mejora de un sistema Grid Computacional para el render de escenas 3D (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad