I’ve been getting the Raspberry Pi support in Fugio up to speed. The wiki build instructions have been updated to support Qt 5.9, which is the latest version.
The main work is on getting the OpenGL support working, which is going quite well but there is some refactoring to do to support OpenGL ES.
There’s also been some work on synchronising Fugio running on multiple computers across a local network. This is in early stages but is looking very interesting.
In a couple of weeks I’m aiming to have the first Fugio RPi image ready for download so you don’t need to go through the long process of compiling it yourself.
If you’re enjoying the ongoing Fugio developments, it would be great to have your support:
This week I’ve been focussing on creating a fully working CMake build system in place for Fugio.
As Fugio currently builds using Qt’s qmake, why do we need an alternative?
In a recent Qt blog post it was made clear that qmake is going to be deprecated in Qt6 in favour of a new tool called Qbs (pronounced cubes).
As CMake can be used to build all sorts of projects, and not just Qt ones, it enjoys a much larger user base.
The CMake file for a Fugio plugin seems to be a lot simpler than for the equivalent qmake file, especially when specifying cross platform options.
It seems easier to setup clean, automated builds that I seem to be needing more to simplify and make more reliable the process of Fugio binary releases, specifically for Raspberry Pi builds, too.
If someone wants to work on the Fugio code base, CMake allows the user to use their IDE of choice and be less tied to Qt Creator.
This week we have a new binary release of v2.11.0 that introduces the new Interactive Shader Format (ISF) plugin that I’ve been working on for the past few weeks.
The plugin allows loading and developing of OpenGL shaders with a much simpler interface and has built in support for audio and FFT data so you can easily make audio reactive shaders.
My other big news is that I have just signed off for a major new Fugio based art installation for the Francis Crick Institute in London.
The Francis Crick Institute is a biomedical discovery institute dedicated to understanding the fundamental biology underlying health and disease. Its work is helping to understand why disease develops and to translate discoveries into new ways to prevent, diagnose and treat illnesses such as cancer, heart disease, stroke, infections, and neurodegenerative diseases.
An independent organisation, its founding partners are the Medical Research Council (MRC), Cancer Research UK, Wellcome, UCL (University College London), Imperial College London and King’s College London.
The new artwork will reflect the highly active and diverse range of activities taking place within the institute that are at the cutting edge of biomedical science, and incorporate historical elements referencing Francis Crick’s achievements and legacy.
The installation will be constructed over the course of 2017 and launched in January 2018.
The artwork will be using Fugio running on around 20-25 Raspberry Pi computers, so expect to see a lot of updates for the RPi build of Fugio in the coming months.
Have a good weekend and see you next week!
NEW
Interactive Shader Format (ISF) plugin
OpenGL TextureMonitorNode
Added exprtk submodule
Added initial Windows 64 build (not all plugins supported)
UPDATED
Builds with Qt 5.5
FilenameNode reports error when file doesn’t exist
Optimised drawing of background in MIDI and Media timeline
So I really had it in mind that I released the first version of Fugio in May, and I was planning on doing this birthday round up of the previous years activity. Only getting around to checking the actual release date today, I found it was April 8th, so I missed it. Not to be disheartened, I plan to push ahead anyway with my excellent post idea, and will get the date right next year!
I wrote 44 Fugio Friday or otherwise Fugio related posts
I exhibited Fugio based artworks at the V&A and Imperial College in London, and in Birmingham, Bournemouth, Oxford, Brussels, and Irvine California
Looking back
Looking back over the year, I’d say it’s been an enjoyable project to undertake. There has been a really positive response from many people, and it’s been exciting to see how other people are using the software for their own projects.
For my work, it has completely fulfilled it’s purpose, enabling me to quickly develop new artworks, and keep existing works up and running in a state ready for exhibition. I find I’m able to try out ideas faster because there are now a good range of nodes that replace the need to write code.
In regards to running an open source and public project, I’ve found it often it takes up more of my time than it probably should as I get stuck into some tasty new idea or feature, or track down bugs reported by users.
It’s also not easy to justify spending time on a project that doesn’t make me any money directly, and sometimes I find myself thinking that I should implement a feature because it might be popular with users, even if it’s not of any use to myself.
Overall, it has developed into exactly what I hoped it would be: the start of a fascinating and challenging voyage, with new people, new ideas, and new opportunities.
Looking forward
Looking forward I have a long list of improvements and features to add, and I will work through them as and when I can.
One of the main features of this coming year will be the announcement of a major new Fugio installation that I’ll be spending much of my time working on, which is using many Raspberry Pi computers that play video and provide interactivity. While Fugio already runs on the Pi, there is going to be much more native support for it soon.
Outside of the code, I hope that the Fugio community continues to grow and people share more examples and experiments and ideas with each other. I will continue to try to provide support and tools to facilitate this happening where I can.
I would like to get a lot more feedback from users about the software and how it could be improved. I’d like to give more talks, and perhaps speak at some conferences, which I’ve always found an excellent way to connect with people.
Personally I’d like to see Fugio helping people realise their creative ideas, while learning as they go.
However, this project isn’t just about what I want: what would you like to see happen with Fugio over the next year?
OK, so last week I managed to miss an update as I was in Amsterdam helping out with an exhibition, catching up with friends, and enjoying some fine raw herring. Apologies if you were missing your Fugio news!
This week has also been busy though, inspired by some discussions on the Fugio Users Group, I started implementing a new plugin for supporting Interactive Shader Format, which is a way of simplifying the use of OpenGL shaders, so rather than having several nodes for compiling shader code and setting up the required geometry, ISF takes care of all this in one simple node.
What is simplified for the user usually means more complexity for the developer so the plugin isn’t ready for a binary release, as it doesn’t support all the features of ISF yet, but if you’re compiling Fugio from source, you can get the code now on the ISF feature branch.
Next week I’m in Birmingham mainly filling out application forms for various open calls.
We have a new forum for discussing Fugio ideas and issues. It’s a bit quiet so far so do post up your thoughts and questions!
This Sunday (May 7th) I’ll be taking part in the Imperial College Festival, showing our Fugio based virtual reality experience that explores whole genome sequencing of bacteria. Come along and say hello.
This new version, previously shown at Oxford’s Museum of History of Science (pictured), features smells that are blown towards the participant via motors with 3D printed fans at points synchronised to the audio narrative; their speed controlled by a Fugio timeline sending serial messages to an Arduino with a motor shield.
In other news, I asked the Fugio Users Group whether they were running 32 bit or 64 bit Windows. The results were 100% 64 bit! Until now I’ve just been building Fugio on Windows as a 32 bit application, but I’d like to support 64 bit too, so I put the basics in place, and also looked at cmake as an alternative to finding different libraries, the results of which are all on GitHub.
I’ll be in Amsterdam next week, so you can look forward to a “Fugio vrijdag” update.
This week we have a new binary release (2.10.0) that features a new work in progress node called MIDI Timeline.
You can now import .mid files straight into Fugio (via the File Menu) and it will create nodes for each track. Feed these to a MIDI output and you can start playing about with it.
There’s currently no editing facility, and it can’t record, but it’s a step in the right direction.
Check out the ‘Magical Midi’ example, which comes from one of my favourite arcade games.
Other than that, I’ve tested compiling Fugio on Debian Linux 8 and got it working, and there’s a bunch of fixes of improvements that you can read about in the list below.
I’m now supported both the GUI installer and Homebrew/Cask installers on macOS/OS X so here’s the installer links:
This week we have a new video tutorial that introduces the use of Snippets to store and reuse sets of nodes to build your ideas quickly, and Groups to layout your patches in a more ordered and understandable way.
I made this exploding rabbit with Fugio. It’s using the Stanford Bunny model (one of the classic 3D test models that have emerged over the years) that is comprised of 69,451 triangles, which is being rendered and animated in real-time using OpenGL shaders.
There is a video tutorial that introduced 2D shaders in Fugio that I made last year, and am planning to record one about working with 3D in the next few weeks.
I’ve also experienced this in VR using Fugio’s Oculus Rift support. It was great 🙂
Work is still progressing on the 3D model loader (as used to import the bunny model) though I was busy most of this week helping to install the FEAT (Future Emerging Art and Technology) exhibition in Dundee, which is open until the 17th of June.
Enjoy the rest of the weekend and see you next week!
This week I’ve continued development of the 3D model loading plugin, which is going well, though it’s not quite ready for public consumption yet, so there’s no new binary release this week. There are a few updates – mainly small bug fixes – made to the code on GitHub.
I’ve also been working on some new Fugio based artworks, like this generative one:
This is an algorithm I came up with a while back that takes the pixels from the previous frame and moves them around depending on their relative values. It starts by draws just three pixels (the brightest points of each colour) each frame and the rest (including all the smoke like patterns) develop out of the code.
If you’re interested in following my art, you can get email updates from signing up to the Alex May Arts Newsletter.
Next week I’m off to Dundee in Scotland for a few days so I’ll be reporting from there on Friday!