Hi there all!
One of my first posts here on Elysiun, so better make it spectacular - or at least lengthy
Yesterday, after having gone trough the usual reading of cool 3D art posts in this forum, I got an idea. I was wondering why there were no more cool animations - and obviusly it is because it takes far too long to render a decent high-res animation when the rendertime/frame is >10mins.
Also I was thinking if there were some kind of way to make use of all those wasted CPU-cycles out there on the internet to do 3D rendering.
A couple of hours later I had a basic client and server working and today I rendered the first frame using them. I use BOINC (a framework for making distributed computation - made by the developers of [email protected]) and YafRay for the rendering.
Well. After having seen that it is actually possible to do distributed rendering that way (although very simple at the moment) I decided to post here to see if anyone else would be interested in this. (Yes, you are reading the post right now )
The idea (I’m not even close to that yet) is that a lot of people sign up on this “project” and download some client-software that is capable of rendering. By rendering frames for animations you earn points.
If you would like to use the distributed network to render one of your own animations, you can go to the website and submit the animation for rendering. It is completely free to do so (but only non-commercial stuff may be rendered).
If the distributed network is not already busy rendering you can use it without having any points at all. If another render is in progress you need to have at least XXXX points to start yours (XXXX determined by the size of your animation).
That way you will even be able to get something rendered as a newcommer if you are lucky. People who have done a lot of frames for others will get higher priority when they submit something themself.
As I mentioned above no commercial animations are allowed. Also the finished animation should be uploaded to the website so that all contributors can see what they helped make possible. Copyrights will of course still remain the animation-maker’s.
If 100 people sign up - each of them having in average 1.5 computers with an average of 1.5GHz that are iddle 50% of the time - you get an equivalence of 112.5Ghz of rendering power. (not taking network transfer, dual CPUs, hyperthreading etc. into account here as it would make it difficult to calculate). Since the application is only using iddle-time the 100 people won’t even notice that there is a difference on their systems. Whenever they need the CPU-power to do something else (gaming etc.) the application simply stops using as much of the CPU.
Usually computers are inactive in more than 80% of the time that they are turned on - but I wrote 50% because then I don’t promise too much
Just want to mention that [email protected] and other projects not only have hundreds of participants but millions! (now try to redo my calculation with those numbers instead )
A few more facts:
- It renders an entire animation in parallel (ie. as many frames at the same time on different computers as possible)
- It uses YafRay (blender supports export to YafRay-xml so that shouldn’t be a problem - only need to rewrite very little stuff)
- It’s ment to be easy to install and be almost transparent when installed
- Other distributed projects are using the same client, so you can even share your cpu with them as well
- The other projects are sometimes iddle, which means that their participants’s CPU time will go to this project instead!
- As a community we can help each other
Getting from where I am now to something that just slightly does what I wrote above isn’t going to be easy. So I need your help!
There is a lot of stuff that I don’t know about - and you do. And there is a lot of stuff that people can help doing as well; I don’t think I’m able to do all this alone.
Right now a lot is missing:
- A cool looking website (I’m a programmer, not that much of an artist)
- A nice looking test-animation to use for debugging and for testing new features
- Loads of information about how you usually use blender and YafRay
- What’s the average size in MB (with all textures and meshes) of an animation?
- What’s your favourite animation framerate, size, bitdepth, format etc? 30fps? 720x500? 24bit? tga/avi?
- Export directly from Blender (as the YafRay plugin now, just modified a bit)
- Some kind of easy-to-use upload and animation submission page as well as a way to download the result.
- Hosts with large (>=2mbit) bandwidth to use as upload/download servers for textures etc.
It is probably going to take at least 3 months to half a year to get this working perfectly, but it’s not at all impossible.
I hope that with the help of our great community we will be able to make this happen!
Anyone interested in the idea?
Anyone interested in helping out?
Any comments and ideas? Questions?
The link to the project (everybody keeps asking about it): http://burp.boinc.dk