Atom also allows you to define image processing networks with an external markup file. This could be used, for example, to generate image processing networks from external code. Atom could then be called to run on images in batch using the generated network. Here is a one-page overview of the markup.
Evaluation of the node network happens in dependency order, and sets of nodes on the same dependency level are processed on individual threads. The UI stays fairly responsive, and multi-core processors should benefit as well.
At the same time, I wanted to try my own rendering and game state ideas, and maybe even implement a decent platform for launching game prototypes quickly. So, I decided to go all out, and Geos, the never-finished engine in progress, is the result.
Unfortunately it hasn't had much attention lately, as work demands my time, and I've also started an android engine on the side. Plus, it turns out writing good game engines is actually pretty hard. Crazy.
As of right now, here's the run-down:
It uses Gtk# for the UI and Cairo for custom drawing.
The large 'Plots' area is used to display other information associated with your location. For example, here is a plot of WiFi AP scans (the rest of the UI is hidden):
Spherical Harmonics are used to approximate functions over a sphere, which happens to work out nicely for ambient lighting solutions. Since ambient lighting kind of bounces all over the place and comes from 'everywhere,' it can be represented as intensities over a sphere around an object being lit.
The precision of the approximation depends on how many numbers (the coefficients) you use to drive the harmonic functions. More is better, as usual.
Spherical Harmonics have a few other neat properties in regards to rendering and some nice shortcuts when it comes to doing fast math operations over a sphere. I'd recommend reading some more about them.
Using Webtrip, you search for images, and the thumbnailed results are kept in collapsible groups. You can click a thumbnail to see the full version in the main view.
In addition to this, I implemented some features I find useful:
Webtrip is an application I have been writing in Mono C# using Gtk# and Glade 3. To be honest, I did't expect Gtk to be as elegant as it is. I have been using Gtk about as much as I have used Windows Forms, and with Gtk, I have been able to create much better interfaces in far less time. It makes me frown whenever I have to go back to using Forms.