Cycles Distributed Rendering?

I was looking around the Blender universe to see if there was something like Distributed Rendering for Cycles, or if Blender handles generic distributed rendering for any engine involved in the process. It seems Blender does have some sort of distributed rendering, but I was not sure if it was for multiple frames or if it was for a still.

Are there any thoughts to add distributed rendering to Rhino Render and Rhino Cycles? We do this with vray for rhino with our six workstations and it works a treat.

2 Likes

In Cycles there is a crude network interface, but it hasn’t been developed much. (It shows up on RhinoCycles_ListDevices, but doesn’t do anything useful at the moment, I probably should hide it for now :slight_smile: )

In the past I’ve worked on a BOINC-based solution that did both stills (large ones) and animations using Blender Cycles, before I started working for @andy we briefly worked on something similar for Rhino, but that idea has been on the back burner since I started working full-time on RhinoCycles. I imagine that some day I could continue work on that.

Creating a simple render farm shouldn’t be too hard, most of the work will be going into handling render nodes and their potential licenses.

/Nathan

I’ve played with a few different distributed render farm tools for blender, and not had great luck with them. The easiest and simplest solution in blender is to have all machines render to a shared network volume. You load the same blender file up on all of them and set the file to not overwrite existing frames. What happens is at the start of each frame render on a given machine blender writes a placeholder file for that frame to the network folder. When each machine finished the current frame it’s working on it tries to render the next frame but if it sees a file with that frame number already I the directory it skips that and tries another until it finds one that doesn’t exist yet. It’s dirt dumb simple and works like a champ. Far easier than any client master slave software solution.

For Blender that is true yes, and even more so for animations. But that doesn’t work for one image distributed rendering.

Eventually it would be the idea to have even better (sic) distributed rendering for Cycles in Rhino. I know I can do that in the very least for single frame distributed rendering, and very likely also for animation rendering. The latter is more a job control though, but certainly can be tied into proper distributed rendering.

/Nathan

I just googled a bit about Cycles to see what we can expect in the future.

Network Rendering is on the cycles roadmap for 2017. That means the same as Distributed Rendering, right?

If it will happen in Cycles, does that mean it will automatically also be available in Cycles for Rhino?

Not automatically, I still need to do necessary typing of code that connects the dots to make it work in Raytraced / Cycles for Rhino. But in theory it can possible to at least utilize machines that are on the same internal network. If and when that happens I don’t know.

Note that the 2017 roadmap also contains projects that devs would like to work on. There has been some talk about the network rendering part, but it is too soon still to be able to say whether it will be realized or not. I do hope it becomes an interesting option though.

/Nathan

I would also love to see distributed render included. Doing large renderings is always fairly time consuming.
And setting up renders in Rhino is pretty time consuming as well, when compared to something like Keyshot, or even 3dsMax. But having a good render that you can just queue up another render as your working can save quite a bit of time, so I’m pretty thrilled to have Cycles in there. We just need a really fast way to quick throw in an HDR, throw on materials, choose the size you want to render, and go.

I would love to set up some machines with some of their processing power given to cycles as a low priority just all of the time. Someone running a spreadsheet all day will never know. Although, they may wonder why all of the sudden their fan starts losing it’s mind.

Licensing says you can’t charge for cycles right? But you could charge for something like a network render node? or rather the software to run that? I’m not sure how GPL works.

1 Like

This is essentially how setting up a render for the Raytraced (Cycles) view mode works in Rhino BETA. Have you tried it?

I’ve tried it, but I didn’t get much past applying a couple materials. Changing things seems to take significantly longer than something like Keyshot or Bunkspeed at the moment. But I haven’t dug in to figure out an efficient workflow.
I’ve never really liked the interaction for applying materials in Rhino for some reason. I never really thought about why. I came from the animation side of things, so started with Maya and 3dsMax, which I still use occasionally.

I’ll give it another try soon. I didn’t get very far before crashing (everything was just suddenly gone, no errors) and I was in the middle of some things, so didn’t give it any more time than that.

Are there any video walkthroughs out there showing an intended workflow for setting up a quick scene? Soimetimes I just don’t like something because it didn’t work the way I wanted/expected it to. So I’ve been preferring seeing the intent first, in case that’s not what I expect. Otherwise I wouldn’t be giving it a real chance.

I haven’t done a progress video in a long time, so maybe I should take some time this week to go over the current status, and possibly show how I use it - I don’t like slow either, so maybe it can be useful :slight_smile:

/Nathan

p.s. my background is blender (mostly dev, but have done my fair share of projects)

2 posts were split to a new topic: Material drag&drop

A post was split to a new topic: Rendering workflow

any news of this topic?

No news on this, I’m afraid.