oenvoyage / brender

Brender is a distributed rendering solution for the 3D animation suite blender. A new version is developed here :
https://github.com/fsiddi/brender
38 stars 9 forks source link

Support for tile rendering #48

Open fsiddi opened 12 years ago

fsiddi commented 12 years ago

Multiple machines to render tiles for the same image. We can use border render. http://www.blender.org/documentation/blender_python_api_2_63_14/bpy.ops.view3d.html?highlight=border%20render#bpy.ops.view3d.render_border

And the stitch images together with imagemagick.

MrPetru commented 12 years ago

I'm wondering what are the situations when you might use this option?

What about the situations in which a scene contains a tree of compositor's nodes? How you will handle the compositing work for resulted frame?

fsiddi commented 12 years ago

Hey Petru! The idea is to use it for very large renders, where cycle can really take hours. The idea is to use border render which will handle compositing just fine. Olivier might have a look at it next week.

MrPetru commented 12 years ago

yes :) ... you are right, the compositor is working fine with border rendering, I had forgotten about this, sorry.

I don't know the last modifications of Brender. Is there the possibility to send a job to Brender from inside of Blender? I think that the border rendering will be very useful for artists to make a fast render preview using Brender to dispatch frame on multiple computers and take the result in a very short time. On the other hand, Cycles is made in manner that you can see a preview :)

When rendering an animation the gain will be, for example: if you have to render 5 frames on 5 computers, each frame for one hour, then you will have the first complete frame after one hour, all 5 frames will be done after one hour. Using border rendering on multiple computers, you will have one completed frame every 1/5 of needed time to render only one frame.

I have another question. You know if ImageMagick will be able to put together an EXR file?

oenvoyage commented 12 years ago

Hello Petru, nice to hear from you again. I hope everything is doing fine for you. Yes I think tile rendering is useful for architectural rendering mostly... maybe for static images where you would need high DPI for poster print or so. One thing with cycles is memory limit of the gfx card. And i dont know if border rendering does lower the mem useage. For instance if your card only has one gig and scene needs 2 gig to put all mesh data in memory, what happens if you are rendering just a quarter of the objects in 4 tiles... Does it put in ram all objects, or just the ones visible to the cam?

I will have a look at the border rendering this weekend or next week

On 20 July 2012 21:13, Petru reply@reply.github.com wrote:

yes :) ... you are right, the compositor is working fine with border rendering, I had forgotten about this, sorry.

I don't know the last modifications of Brender. Is there the possibility to send a job to Brender from inside of Blender? I think that the border rendering will be very useful for artists to make a fast render preview using Brender to dispatch frame on multiple computers and take the result in a very short time. On the other hand, Cycles is made in manner that you can see a preview :)

When rendering an animation the gain will be, for example: if you have to render 5 frames on 5 computers, each frame for one hour, then you will have the first complete frame after one hour, all 5 frames will be done after one hour. Using border rendering on multiple computers, you will have one completed frame every 1/5 of needed time to render only one frame.

I have another question. You know if ImageMagick will be able to put together an EXR file?


Reply to this email directly or view it on GitHub: https://github.com/oenvoyage/brender/issues/48#issuecomment-7138646


olivier amrein http://oenvoyage.wordpress.com company website : http://www.rgbprod.com travel photos : http://www.flickr.com/photos/oenvoyage/collections/

MrPetru commented 12 years ago

:) I was a bit busy. I'm sorry for the lack.

agree with you, this may be a solution to optimize the render of big scenes in Cycles, even using a single computer. Let me know if I can help you on this issue ... maybe with doing some tests to control video card memory usage or something else.

carlosdesa commented 10 years ago

awesome feature, it's just what we need in our small company! We render pretty large pictures of buildings and house interiors and we need speed. Though our hardware are pretty limited, we would gain lot of speed if we tiled the image and rendered each part on each available computer. We only use GPUs to render. But we still have some cpus available if a possibility of unite CPU+GPU is feasible.

1st PC - GTX550Ti 2nd PC- GTX560Ti 3rd PC - GTX660 4th PC - Core i5 2.3GHZ 5th PC - Core i3

One thing that would be nice is if there was a table that anybody could contribute, that could judge each CPU or GPU by its processing power, so we could use that table for bucket priority, example: GTX550Ti is slower than GTX560Ti, so its bucket size should be smaller, and most CPUs are slower than certain GPUs, then they would have smaller bucket sizes, to maximize their performance in the whole rendering process... thats just a crazy idea :P

fsiddi commented 10 years ago

It's a nice idea, but at the moment I'm afraid we cant look it. We are very busy with the foundations of brender 2.0 (https://github.com/fsiddi/brender/).

Will keep in mind for the future thought!