I’m struggling to find the time to finish anything at the moment, so I thought I’d take a break from a larger project and work on something I actually have a chance of finishing.
You can see from my other posts that I have an interest in CGI rendering; and one of my other interests is evolution / genetic algorithms.
I had previously been working on my own renderer (one in Haskell, and one in C#), but I thought I’d try making use of an existing open-source one, and concentrate on the evolution side of things.
I’ve been impressed by the art of Willian Latham since I discovered it in university, and I wondered if I could use human-directed evolution to produce something similar, using a similar method to that described in the book “The Blind Watchmaker”.
So… I’m going to have a little Python GUI that mutates a structure describing a scene, and displays the mutation choices in a grid. The user can then choose which one they want to use as the starting point for the next generation, and so on.
The images will be rendered using a separate Python utility: the programmatic Blender interface is based around static contexts, and I will want to make this multi-threaded; and also it seems difficult to control memory leaks, so doing process-level memory management seems sensible.
I’ve put together a very basic version - you can find it on GitHub.
It’s not much, but it’s a start. Next step is the evolution GUI. Once that is working, I can then start adding support for different kinds of objects and different kinds of materials.