I am editing Mecabricks.com that I have been working on for the past 6 years. This is an online CAD software for LEGO models and obviously, Blender has been my 3D tool from the beginning. In the past couple of years, I developed multiple version of scripts and then Add-ons for Blender to export models from Mecabricks and import them in Blender to be rendered. That worked great but I decided to go to the next level which is to render directly from the website. My intent is to make it accessible to everybody even without any 3D knowledge. So 2 months ago I decided to build a small render farm and design the software to control Blender in the background.
My rig is based on 6 computers including 6 Ryzen 1600 (72 threads) and 5 GTX1050TI. I use the daily build of Blender 2.79 as it provides the possibility to have CPU and GPU rendering on the same machine.
Here are a couple pictures. I designed the case myself and got it laser cut:
The next step was to make the custom software to control it. I decided to use Python for server and clients and a MySQL database. This database is the link between the Apache server and the farm. I am currently only dealing with still images and therefore I optimised it for this purpose. Here is a picture of the GUIs:
Finally the last step was to link it to the Mecabricks webapp and generate the Blend files on the fly using the user defined settings. This is now possible to render models without anything else than the browser. It even works on an iPad. Here is a short video that shows how it is used:
This is the first week that it is tested and the service is not open all the time however, it is more than usable and actually quite fast. It generally takes less than 2 minutes for an HD image and less than 10 for a 4K. The current options are still limited but I plan to add way more - compositing, Dof, etc.
If you want to test it, head to https://www.mecabricks.com/en/workshop
You will just need to create a free account and select “3D rendering” in the top left menu. You have thousands of models in the library to test it with.