[Bf-funboard] Feature suggestion: Integrated Network Rendering Solution

Paul Lunneberg bf-funboard@blender.org
Tue, 17 Jun 2003 17:16:47 -0400


Welp.. second try at posting this as I first sent it from a different email
address.  Moderators.. you can ignore/reject my other identical post. sorry.
-----------------------
This is my first post to the list, I hope it gets through ok.  Onto my idea...

I would like to see an integration of the render daemon into blender.  Something
simple so that there is no additional software to download or install.  I will
make some mockups when I get a chance this week but I would envision it would
function as below.

* Start Manager
1. User starts blender
2. Select "Start Network Rendering Manager" from menus
3. Configure appropriate settings once manager has started

* Start Clients
4. Start another instance of blender on the same system or any number of other
systems.
5. Select "Start Network Rendering Client" from menus
6. Configure appropriate settings once client has started
 - Settings would simply be the address of the manager and a connect and
disconnect button as well as a test connection button that would quickly test
the connectivity between the client and the manager.

* Submit Job
7. Start another instance of blender or on a different machine
8. Select "Network Rendering Options" from menus
9. Set the correct address to connect to manager as well as a test connection
button that would quickly test the connectivity between the current system and
the manager.
10. Open Blend file and set all rendering settings as you would normally do.
11. Select "Submit Job" from menus
12. A window displaying all registered rendering clients would be displayed and
the user could then choose which systems are to be used for this job.
 - Blender would then pack all necessary files and send resulting .blend file to
manager which would then split the job frames up among all the rendering clients
that have registered with the manager.  

* Watch Status
12. Select "Network Job Control" from menus
 - a panel within blender or a seperate window could open up and have several
different displays such as (a) "Jobs" to see the specs on the jobs being run as
well as the ability to change job priority, pause or cancel jobs and (b)
"Clients" to see what clients are checked in and what jobs each client are
running... also the ability to change assignments of clients jobs.  This should
be able to be done from any system connecting to the manager... maybe there is
some simple password protection you would set on the manager so only users with
the password could administrate the jobs... also some sort of password per job
so the person submitting a job could control their own jobs and be able to
cancel them or change systems assigned to them.

* External Renderers
 - If any external renderers are selected in the rendering options for a
particular blend file each client selected for rendering would need to have that
external renderer configured.. but everything else would work as normal.

* Finished Rendered Stills
 - The resulting rendered stills would then be pushed back to the manager and
stored.  A user could then connect to the manager machine through ftp or
whatever to get the finished images.
 - Maybe also add some sort of small web server that would allow a user with the
correct job password remote access to the files or some way to download a .tar
or .zip file of the resulting images.


What I have described above is very similar to what is implemented in 3DSMax.
I've used max's network rendering before and it makes it very simple for almost
any user to setup as well as submit and control jobs.  As I stated above I will
try and get a mockup of the screens finished by the end of the week.  

I will probably post the finished mockup here
http://www.pablosbrain.com/blenderideas/
along with my other idea to have some sort of spline IK or beziere curve bones
for use in animating/deforming tails, string, rope and the like.  

Paul Lunneberg