Introducing Matyroshka
Over the weekend I held a software reveal and digital art exhibition to show of my new Matryoshka software which I hope to release to the general public by the end of the year, or early 2020. I invited various professional artists, graphic designers and illustrators based in Dublin, Ireland, and the software had a very positive reception.
The art exhibition contained some 200 images to show off the capabilities of the software. I have attached a few of the images below. The software is specialized for creating simple geometric fractals using a subject object which is replicated against a background image that forms a canvas. I see it as more of an educational toy, as it's fun and very easy to use and could serve as a good introduction to digital art. I and thinking to market it to kids and schools.
I will write a little about the technical details of the software as they are sure to be of interest to Eiffel programmers.
The Matyroshka Concept
I put together this animated video to demonstrate the basic concept behind the software. It doesn't actually show the software itself, only what you can produce with it. I named the software Matryoshka as Russian dolls are the perfect metaphor for what it creates.
I also made this playlist of tutorial videos that demonstrates the software itself in action. Being a big Linux fan, what I demonstrated was the GTK version on Linux Mint.
Model Extensions
To make the software I need to make some extensions to the Vision-2 modelling classes. In particular I need a picture model that is rotatable, flip-able and can be rendered at different levels of opacity.
Pixel Buffer Extensions
I also made many improvements to class EL_DRAWABLE_PIXEL_BUFFER (inherits EV_PIXEL_BUFFER), most notably support for opacity setting and image flipping.
Container Extensions
I also made this very useful class for placing a discrete little progress bar underneath a button. Some Matryoshka rendering operations take quite a few seconds to complete when working with a 4K image.
Early Version Demo
I open sourced a very very early version of Matryoshka by including it in a graphics demo program. The current codebase looks very different but you can get some idea of how the software works.
Some Images from the Exhibition