[Bf-cycles] Network Rendering

Vincent Olivier vincent at up4.com
Sat Dec 31 20:37:26 CET 2016


I’m just posting here my intention to work on a network rendering feature for Cycles for your consideration. Comments are more than welcome. Maybe if someone could give me a Wiki account I could post my ideas and the discussions I will have with people interested in those features.

I’m still struggling to have the “blender_dependencies” build for Linux, Windows and macOS so I can test my code on all of those platforms. I’m writing this as it’s compiling.

My plan is to start with the Cycles command line standalone to create a new “cyclesd” binary that would be a POSIX daemon and Windows service, with all it’s dependencies statically linked for portability.

This service would advertise itself via Bonjour/zeroconf/avahi and publish it capabilities, versions, benchmark/core count for OpenCL, Native and CUDA and be discoverable by yet another command line utility client that would be able to stream the XML scene with all textures, geometry and other dependencies to the remote deamon. The command line is responsible for decoding (FFMPEG, OpenImageIO, OpenVDB, etc.) everything on the file system and sending only XML scene description with in-line (base64?) textures, maps, meshes, volumes to the deamon. Maybe it would be better to use something like msgpack instead of XML between server & clients, I’m not sure…

The server would send back RAW film (with Cryptomatte data, etc.) to the command line client who would then serialize the render back onto disk according to the user wishes.

I am sure there has already had lots of brainpower invested in this so I’m still looking to gather it all in one place (wiki most probably).



More information about the Bf-cycles mailing list