PDF de programación - Integrando Blender, Boinc y Legión

Imágen de pdf Integrando Blender, Boinc y Legión

Integrando Blender, Boinc y Legióngráfica de visualizaciones

Publicado el 4 de Junio del 2018
611 visualizaciones desde el 4 de Junio del 2018
3,0 MB
39 paginas
Creado hace 12a (14/03/2012)
Integrando Blender,

Boinc y Legión

Blender

¿Que es Blender?

●Creación de contenido 3D.
●Software libre.
●Multiples sistemas operativos.
●Licencia GNU General Public License.

Blender - GUI

Blender – Consola de Comandos

blender [-b <dir><file>
[-o <dir><file>][-F <format>]
-x [0|1]][-t <threads>][-S <name>]
[-f <frame>]
[-s <frame> -e <frame> -a]]
[[-P <scriptname> [-- <parameter>]]

# blender -b file.blend -x 1 -o //file -F MOVIE -s 003 -e 005 -a

Ejemplo de Blender - Sintel

Ejemplo de Blender - Big Bunny

Blender - Renderizar

Blender - Renderizar

Blender – API Python

● Python 3.x.
● Crear elementos de interfaz de

usuario, como menús, cabeceras y
paneles.

● Dibujar en la vista 3D.
● Crear nuevos motores de renderizado.

BOINC
Berkeley Open Infrastructure for Network
Computing

¿Que es BOINC?

● Infrastructura abierta de Berkley para

la Computacion en Red.

● Programas de código abierto para

computación voluntaria y computación
en red (grid).

BOINC - Proyectos

Fisica y Astronomía

Biología

Matemática

Ciencias de la Tierra

BOINC – Computación Distribuida

Secuencial

Distribuido

BOINC – ¿Como funciona?

BOINC - Componentes

Servidor

● Generador de Workunits (API C++).
● Calendarizador (Scheduling).
● Servidor de Archivos.

Cliente

● Core.
● Boinc Manager (RPC).
● Protector de pantalla.

BOINC – Servidor (I)

Config:
<boinc>
<platform>
<name>i686-pc-linux-gnu</name>
<user_friendly_name>
Linux Intel x86-compatible CPU
</user_friendly_name>
</platform>
<app>
<name>uppercase</name>
<user_friendly_name>
UperCASE
</user_friendly_name>
</app>
</boinc>

BOINC – Servidor (II)

Template Input:
<workunit>
<file_ref>
<file_number>0</file_number>
<open_name>in</open_name>
</file_ref>
<file_ref>
<file_number>1</file_number>
<open_name>logo.jpg</open_name>
</file_ref>
<delay_bound>600</delay_bound>
<target_nresults>1</target_nresults>
</workunit>

Template Output:
<file_info>
<name><OUTFILE_0/></name>
<generated_locally/>
<max_nbytes>20000000</max_nbytes>
<upload_when_present/>
</file_info>
<result>
<file_ref>
<file_name><OUTFILE_0/></file_name>
<open_name>out</open_name>
</file_ref>
</result>

BOINC – Servidor (III)

Crear una tarea:
./bin/create_work
-appname nombreapplicacion
-wu_name nombre_calculo
-wu_template templates/input.xml
-result_template templates/output.xml
in logo.jpg

BOINC – Cliente GUI

BOINC – Cliente Consola de Cmd.

Legión

¿Qué es Legión?

● Sistema de computación en malla.
● Procesamientos de grandes cálculos.
● Interface Web amigable.
● Dirección Informatica Académica (DIA).

Legión – Arquitectura

Legión – Web Interface (I)

Legión – Web Interface (II)

Legión – Web Interface (III)

Legión – Web Interface (IV)

Integración

Integración

Integración

● Interface de usuario
● Procesamiento

● Dividir y renderizar
● Unir partes

● Post Procesamiento

Legión – Formulario

Integración - Procesamiento

<task>
<name>{{Form:txtName}}</name>
<desc>{{Form:txtDescription}}</desc>
<exec_file>
<name>/usr/bin/python</name>
<out_filename>image.png</out_filename>
<cmd>
blender_render_split.py {{Form:sResolution}} 60
{{Form:chckTexture}} {x} {{Form:sMovie}}
</cmd>
<compress>{{Project:compress}}</compress>
<process>
<tag>x</tag>
<start>{{Form:txtFrameStart}}</start>
<stop>{{Math:{Form:txtFrameEnd}+1}}</stop>
<step>1</step>
</process>
</exec_file>


<process>
<tag>x</tag>
<start>{{Form:txtFrameStart}}</start>
<stop>{{Math:{Form:txtFrameEnd}+1}}</stop>
<step>1</step>
</process>
</exec_file>
<other_file>
<name>blender_render_split.py</name>
</other_file>
<other_file>
<name>frame_split.py</name>
</other_file>
<out_file>
<type>other</type>
<name>image.png</name>
</out_file>
</task>

Integración – Dividir Renderizar (I)

import bpy, sys

bpy.context.scene.render.resolution_x = int(sys.argv[7])
bpy.context.scene.render.resolution_y = int(sys.argv[8])
bpy.context.scene.render.fps = int(sys.argv[9])
bpy.context.scene.render.use_textures =
(int(sys.argv[10])==1)

bpy.context.scene.frame_set(int(sys.argv[11]))


Integración – Dividir Renderizar (II)

...
#Bucle por secciones 'n'x'm'
bpy.context.scene.render.border_min_x = b_min_x
bpy.context.scene.render.border_max_x = b_max_x
bpy.context.scene.render.border_min_y = b_smin_y
bpy.context.scene.render.border_max_y = b_smax_y
bpy.ops.render.render()
bpy.data.images["Result"].save_render("./file_n_m.bmp")

Conclusión

● La integración permite accelerar el

proceso de renderizado.

● Es posible realizar renderizado

utilizando Legión.

Referencias

● www.blender.org
● boinc.berkeley.edu
● wiki.blender.org/index.php
● www.renderfarm.fi
● blenderscripting.blogspot.com
● wiki.pucp.edu.pe/legion

Gracias por su atención

[email protected]

Preguntas?
  • Links de descarga
http://lwp-l.com/pdf11581

Comentarios de: Integrando Blender, Boinc y Legión (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