sidebar features
sidebar content

Go Back   Blender Artists Forums > General Forums > Python & Plugins

Reply
 
Thread Tools
ideasman42's Avatar
ideasman42 ideasman42 is offline
Member
 
Join Date: Mar 2004
Location: Australia
Posts: 3,421
Single image renderer- can render 1 image accross multiple Pc's

1) Make sure all blender installs have the blenderfarm script on them.
2) Point all the PC's to the same network directory. (Export>Blenderfarm>Configure this Node)
3) Run a few PC's as Nodes (Export>Blenderfarm>Send & Be a Node (slave))
4) Open a file to render and send to the farm.
......
5) To view, goto (Export>Blenderfarm>View Rendered Tiles (Poll until rendered))

the file removing is very safe and dosent recursivly remove whole dirs.
Youll need blender 2.4+Python.

EDIT - UPDATED FOR BLENDER 2.43
http://members.optusnet.com.au/cjbarton/blenderfarm.py
............................................
BPython Cookbook * How to get features into Blender * Code Metrics
Hire Me
ideasman42<at>gmail.com

Last edited by ideasman42; 21-Jan-07 at 14:10.
#1   Old 23-Dec-05, 13:19   
Reply With Quote


Marty_D's Avatar
Marty_D Marty_D is offline
Member
 
Join Date: Oct 2003
Posts: 1,614
woohoo! Going to have to give this one a try. Thanks, will see how it goes.
............................................
riding the Locknar: free speech is not for everyone
#2   Old 23-Dec-05, 14:59   
Reply With Quote
Marty_D's Avatar
Marty_D Marty_D is offline
Member
 
Join Date: Oct 2003
Posts: 1,614
All right. Well, the script actually worked. Which is way better than any other solution I've tried so, hats off.

In case anyone doesn't know, got the netork to play by mapping the shared folder to a driver letter in explorer (windows of course) because blender can't actually see the network.

Trouble is, using a two machine farm the rendering process is actually slower than if I just render on a single machine?

testing specs: 2.4ghz Pentium 4 w/1.5G ram and 100mb ethernet, 2ghz Pentium4-M w/512M ram and 10mb wireless ethernet.

Seriously though, thanks. At the very least I can send a file around and still work locally.
............................................
riding the Locknar: free speech is not for everyone
#3   Old 23-Dec-05, 17:06   
Reply With Quote
Jedrzej_s's Avatar
Jedrzej_s Jedrzej_s is offline
Member
 
Join Date: Mar 2005
Posts: 253
Wow !!! Sound great !!! Can I render Blender scene with YafRay on accross multiple Pc's ?

P.S. Cambo <- Why don't all yours scripts are on your website of scripts, example: Blenderfarm, new sculpt mesh ?
#4   Old 23-Dec-05, 20:55   
Reply With Quote
ideasman42's Avatar
ideasman42 ideasman42 is offline
Member
 
Join Date: Mar 2004
Location: Australia
Posts: 3,421
Hey, Marty_D thanks for testing, glad you had some sucess.
About rendering comparisons/speed tradeoff.

This script would be usefull if you had 3+ PC's and your were rendering a print sized, raytraced image.
For smaller files, there is not much point in splitting them up, bacause the overhead of file transfur, copying the images, and each blender converting to renderdata is too high.

As for net releasing the scripts on my website? - will ray_pick.blend is an experement and somthing Id like to re-write or heavely modify. Dosent work in all the ways Id like it too, Blender dosent support propper remove doubles yet either (in python). and the renderfarm- same deal, its not 100% done the way Id like.

Hey, on the topic of renderfarms, I had an idea how to realy easerly render an animation across a network- with multiple PC's.
Add 3 options into Blender.
* Touch before rendering.
* Never overwrite frames.
* Render random frames.

Turning all these options on and rendering to the same path across a network, would distribute the animation between all the PC's.
- Any thaughts?
............................................
BPython Cookbook * How to get features into Blender * Code Metrics
Hire Me
ideasman42<at>gmail.com
#5   Old 23-Dec-05, 22:23   
Reply With Quote
MacBlender MacBlender is offline
Member
 
Join Date: Aug 2003
Location: Alberta, Canada
Posts: 388
another area where you'd find a speed increase would be on massive levels of faces shown and with everything turned on, if your just rendering a cube using multi-cpu rener is stupid thing to do.

cambo: so are you goign to extense this into animation or leave it at single renders?

MacBlender
............................................
Scottish 3D artist in canada...

Always remember...
Its a KILT! Not a Skirt!
#6   Old 23-Dec-05, 22:48   
Reply With Quote
Jedrzej_s's Avatar
Jedrzej_s Jedrzej_s is offline
Member
 
Join Date: Mar 2005
Posts: 253
Cambo <- THX for answer, but: Can I render Blender scene with this script and with YafRay on accross multiple Pc's ?
#7   Old 23-Dec-05, 22:54   
Reply With Quote
kattkieru's Avatar
kattkieru kattkieru is offline
Member
 
Join Date: Aug 2002
Location: Toronto, Canada
Posts: 424
Quote:
Originally Posted by cambo
Hey, on the topic of renderfarms, I had an idea how to realy easerly render an animation across a network- with multiple PC's.
Add 3 options into Blender.
* Touch before rendering.
* Never overwrite frames.
* Render random frames.

Turning all these options on and rendering to the same path across a network, would distribute the animation between all the PC's.
- Any thaughts?
Well, depending on how fast your network is, network latency plus rendering times should make that a fairly feasible system for a small renderfarm (ie Pixar's thousands of computers would kill the server, but for 5 to 10 machines it'll be alright).

It'd be really nice for the server to talk directly to the clients, though. Having those clients constantly making lists of images rendered by stepping through the image list seems wasteful...

However, Python does have socket support. You could configure clients to talk to the server by typing the server IP address into clients and passing back and forth information on A) what's been rendered and b) what needs rendering.

This is the best solution, I think, because if the render client crashes it's left a fake file as a standin until it's finished rendering. However, a client who's finished rendering, written the file, and sent the "File Rendered" message to the server can die all it wants. This also keeps the list of files needing rendering in one place only, whereas before it was constantly being generated by the clients.

Thoughts?

Incidentally, your script is pretty cool as is. Reminds me of 3DS R4, back when the world was young. It used to do the split-into-tiles thing across a network for single frames. However, these days it really is better to render single frames (except, as you said above, when rendering huge print-format resolution images).

I think that, if you got the single frame renderfarm thing going with decent client / server UIs, the community would praise you.
............................................
~ Charles

------------------------------------------------
ibuprofen with an espresso chaser
#8   Old 24-Dec-05, 02:41   
Reply With Quote
pildanovak's Avatar
pildanovak pildanovak is offline
Member
 
Join Date: May 2004
Posts: 958
Quote:
Originally Posted by cambo

As for net releasing the scripts on my website? - will ray_pick.blend is an experement and somthing Id like to re-write or heavely modify. Dosent work in all the ways Id like it too, Blender dosent support propper remove doubles yet either (in python). and the renderfarm- same deal, its not 100% done the way Id like.
this actually answers my question from the thread about ray_pick. I wanted to add some functionality, but I see it would be a waste of my time.
#9   Old 26-Dec-05, 18:43   
Reply With Quote
Unimatrix's Avatar
Unimatrix Unimatrix is offline
Member
 
Join Date: Oct 2002
Location: Somewhere, Out there
Posts: 340
I know for single frames at work, we use a Quad-Core Mac (or whatever is the latest and greatest) to do print images in lightwave. It is far more effiecent we've found to have one super fast machine working on it and then move the employee to another computer to work on something else while it's rendering. Our renderiing grid seams best when tackling large numbers of frames.

Again, on a small scale <10 node render farm, this could be useful for users, but on a massive scale or using a distributed rendering method, I'm not sure how well it work in praxis.
............................................
Founder: Blender Xgrid Project
Blender Galactica
BlenderGates.com
http://www.frakvalentinesday.com
#10   Old 30-Dec-05, 16:31   
Reply With Quote
karpov's Avatar
karpov karpov is offline
Member
 
Join Date: Jan 2005
Location: Paris, France
Posts: 275
Hi Cambo,

I've just bought a new box (amd64) with ubuntu running on it and trying to use BlenderFarm with my windows laptop.

But I have some troubles to work with it.
launching send and be a node
Somes errors (like ' no module named blenderfarm')

In the mean time, %| , I have some restriction on my network. (using smb)
I only have acces from Windows to my 'share node' directory on Linux and not from Linux to Windows ( problems of password )......is your script can run in such conditions (!)....and if the answer is 'yes', what am I doing wrong ?

(maybe my some wrong read/write permissions )
............................................
www.yanatchkov.com
#11   Old 19-Feb-06, 00:19   
Reply With Quote
ideasman42's Avatar
ideasman42 ideasman42 is offline
Member
 
Join Date: Mar 2004
Location: Australia
Posts: 3,421
Probably try and get the new CVS blender render server running. There are some Bugs in Blenders python API that prevented me from finishing this script to work well as well as the face I only do realtime modeling so I havnt got much reson to test the script.
Sorry to give up on this project.. its just not somthing I need at the moment.
............................................
BPython Cookbook * How to get features into Blender * Code Metrics
Hire Me
ideasman42<at>gmail.com
#12   Old 19-Feb-06, 10:09   
Reply With Quote
kaso's Avatar
kaso kaso is offline
 
Join Date: Jul 2004
Location: Turin-Italy
Posts: 1
I'm trying your script. It seems works very fine. Tnx for your work.
#13   Old 13-Mar-06, 18:08   
Reply With Quote
greboide's Avatar
greboide greboide is offline
Member
 
Join Date: Nov 2005
Posts: 396
karpov, this can be a matter of taste but i wouldnt use ubuntu if i was you try gentoo instead, these permissions trouble i guarantee you will have no more and your machine will be faster too.

Cambo you did a great job, i think that you should finish it when you have time to it, the worst things that we do in life is quit our projects, it gets that bad taste in the back of the tongue, how it is working you can stop revising it i cant tell you what to do and not to do far from me. I will test this when i have the time and the machines, about the server /client thing wouldnt it be best to dont have any servers at all, only clients? i dont understand the minimum about net protocols and these stuff to know if what i am asking is ridiculous or not so take it easy.
............................................
freedom is the limit


#14   Old 19-Mar-06, 06:47   
Reply With Quote
proghettolab's Avatar
proghettolab proghettolab is offline
Member
 
Join Date: Nov 2005
Location: Foggia - Italy
Posts: 36
Hi cambo,

I'm trying to use your script with 2 PCs: one linux slave (debian) and the other WinXP master. In WinXP when I set the Network Patch all goes well, but the same thing in linux returns this message:

Error - python script error: check console, but I haven't window console and I don't know anything about.

Why this error?

pMB
#15   Old 22-Mar-06, 14:40   
Reply With Quote
proghettolab's Avatar
proghettolab proghettolab is offline
Member
 
Join Date: Nov 2005
Location: Foggia - Italy
Posts: 36
Quote:
Originally Posted by proghettolab
Hi cambo,

I'm trying to use your script with 2 PCs: one linux slave (debian) and the other WinXP master. In WinXP when I set the Network Patch all goes well, but the same thing in linux returns this message:

Error - python script error: check console, but I haven't window console and I don't know anything about.

Why this error?

pMB
Maybe is the python version. I controlled blender dependences and are both 2.3 and 2.4. I have to wait for the new blender version with only 2.4 dependence. You don't?

pMB
#16   Old 23-Mar-06, 09:13   
Reply With Quote
kattkieru's Avatar
kattkieru kattkieru is offline
Member
 
Join Date: Aug 2002
Location: Toronto, Canada
Posts: 424
Quote:
Originally Posted by proghettolab
I'm trying to use your script with 2 PCs: one linux slave (debian) and the other WinXP master. In WinXP when I set the Network Patch all goes well, but the same thing in linux returns this message:

Error - python script error: check console, but I haven't window console and I don't know anything about.
Prolly because you launched Blender from Gnome or KDE... open a terminal window and type "blender", then try again. When the error pops up you can go back to the terminal window and see what the issue is.
............................................
~ Charles

------------------------------------------------
ibuprofen with an espresso chaser
#17   Old 23-Mar-06, 15:54   
Reply With Quote
proghettolab's Avatar
proghettolab proghettolab is offline
Member
 
Join Date: Nov 2005
Location: Foggia - Italy
Posts: 36
Quote:
Originally Posted by kattkieru
Prolly because you launched Blender from Gnome or KDE... open a terminal window and type "blender", then try again. When the error pops up you can go back to the terminal window and see what the issue is.
The message is:

Using Python version 2.3
Unable to load: libtiff.
Try setting the BF_TIFF_LIB environment variable if you want this support.
Example: setenv BF_TIFF_LIB /usr/lib/libtiff.so
Traceback (most recent call last):
File "<string>", line 765, in ?
File "<string>", line 760, in main
File "<string>", line 115, in configMe
File "<string>", line 72, in getConf
File "<string>", line 59, in newConf
IOError: [Errno 13] Permission denied: '/home/arvi/.blender/scripts/bpydata/bfarm.conf'
Vertex3f: 1
Vertex3fv: 2
Normal3f: 1
Normal3fv: 1

The script wants python 2.4+ How can I set 2.4 (that I've installed) instead of 2.3?

Any suggestion?

pMB
#18   Old 23-Mar-06, 16:48   
Reply With Quote
ideasman42's Avatar
ideasman42 ideasman42 is offline
Member
 
Join Date: Mar 2004
Location: Australia
Posts: 3,421
permission deny means you dont have permissions to write the file. try login as admin?? or install your blend file in a different dir.
............................................
BPython Cookbook * How to get features into Blender * Code Metrics
Hire Me
ideasman42<at>gmail.com
#19   Old 24-Mar-06, 10:41   
Reply With Quote
JA-forreal's Avatar
JA-forreal JA-forreal is offline
Member
 
Join Date: Sep 2003
Posts: 1,373
This is a great network rendering script Cambo, thanks! I look forward to any updates that you might make to it. It would be nice to have this script included as a regular Blender script.
............................................
“Blender, Alternative 3D”

-Itchy render fingers
#20   Old 10-May-06, 18:07   
Reply With Quote
Reply

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 11:36.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Logo and website design copyright © 2006 by froodee design bureau. All rights reserved.
Other Blender Sites
new icon Blender Homepage »
The official Blender homepage
new icon BlenderNation »
Fresh Blender News, Every Day
new icon Blenderart Magazine »
Blender articles, tutorials and images.
Blender Headlines
Featured Artwork
Short animation: Barrel by Phlopper
Woolly mammoth by sebastian_k
Photorealistic classic furniture by eMirage
Social BlenderArtists