Update 'README.md'

This commit is contained in:
Steven Polley 2020-05-31 00:30:43 +00:00
parent d76f1d7b32
commit 82a6ad0911
1 changed files with 19 additions and 1 deletions

View File

@ -23,12 +23,30 @@ The project is broken into two parts:
* Master - This can be thought of as the server, it's the portal that users interact with to upload .blend files and tweak render parameters.
* Slave - This can be thought of as a client, and it handles rendering the images which get stitched together to create an animation. There can be as many instances of the slave as you want, the more slaves, the more simultaneous frames can be rendered.
#### Why Containers?
#### Why Go?
Go is an interesting language which honestly just seemed to make sense for this project. It compiles for most architectures and operating systems, it's simple, easy to read and has a great standard library. I only had to rely on one external library for the whole project which was required for lanczos image resampling. Also, I used to hate static typing but I've now grown to love it.
#### Why Docker/Containers?
That's the secret sauce of the whole operation. Containers provide a unit of deployment. What does that give you? It gives you an easy way to launch an application, anywhere, across as many machines as you need to. Sign up for a cloud provider, most support running containers natively. Many providers make it as easy as pasting in the URL to download your container from a registry, and putting a number for how many instances you want to run.
You can also run containers on your own equipment utilizing an orchestrator such as Kubernetes.
#### Why Semantic UI
Because I'm not a front end guy.
#### Why jQuery
Because I'm not a front end guy.
#### Why Blender
It's the defacto open source 3D software that I've been using for a long time.
#### Web interface
When you run the master, it listens on port 8097. Here's a screenshot of the web interface on the status page for an ongoing render job: