Review: ShaderFX Photo


Another month, another photographic application from the hardware whizz kid, Harald Meyer, this time offering ShaderFX Photo, which "can be extended with your own OpenGL ES 2 shaders with multi-texturing, time and mouse input". I'm not entirely convinced that the general cameraphone-owning public might want to use, or know how to program "OpenGL ES 2 shaders", but the application does seem to work, despite a few serious resource caveats.

Author: Harald Meyer

Buy Link | Download / Information Link

You may remember from my review of CameraFX, by the same author, that there's a certain expertise in graphical effects? At first glance, ShaderFX (available in both 'Photo' and 'Camera' variants, quirkily) is rather similar, offering to transform your captured photos in a variety of weird and wonderful ways. And indeed there is much common ground.

But the unique selling point of 'ShaderFX' is, as it sounds, to accept input via any 'OpenGL ES 2 shader' files you happen to source online (or, indeed, write yourself) and apply these directly to your images. A shader file applies algorithmic functions to the appropriate pixel ranges and colourations in an image, i.e. specific sets of formulae that do crazy things to your photos. In principle, these can achieve vastly more dramatic effects than the usual (simple) filters supplied with photo applications.

Happily, the developer includes a large number (around 40) of shader files, built-in, so that you can get going, plus he links to a handful of popular shader download sites around the Internet (e.g. ShaderToy), should you want more.




Shown here are a few examples of the built-in shaders, the interface is as easy as picking a photo from the built-in Symbian 'Photos' gallery and then swiping down to choose a shader. 






Shaders with "(S.T.)" after their name are actually animated (I think S.T. stands for 'Skeletal Transformation', though I'm not certain!) and this is handily previewed on-screen instantly - the responsiveness of ShaderFX is impressive (though see the big caveat below).




Whether written or downloaded, shader files have to be placed in c:\data\Others\ShaderFX - a manual but fairly trivial process, most users should be able to manage the file juggling in File manager. Next time ShaderFX is started, it'll pick these new shaders up and add them to its scrolling list.

Once a shader has been applied, a (floppy disk) save icon appears and you can save the new image to your mass memory or card or upload it straight  to one of the supported web photo upload services: in this case Facebook, Flickr, Picasa and Twitpic - in each case there's an authentication step to go through for your first upload and then it's all plain sailing. Credit to the author for making social sharing so foolproof.


Quoting limitations in the GPU memory of Symbian devices, Harald has placed severe restrictions on image size. You can load in 12 megapixel images (on the N8) but the processed versions of these (i.e. after the shader) end up at between 640 by 360 pixels and 1000 by 768, depending on the complexity of the effect. You can bump up resolution slightly by using ShaderFX Camera, but the difference is marginal compared to the original image resolution.

This drastic downsampling of your photos casts a big dampener on the usefulness of ShaderFX, relegating it to 'fun' use and for social sharing only. While a 640 pixel wide image is OK for Facebook, it'll be no use to anyone on the desktop, especially not for use in a document or printing of any kind.

Some of the shaders are very impressive: 'Random jitter' is very artistic and 'Fake tilt shift' works surprisingly well. Here are a couple of my attempts using these two shaders:


Tilt shift


The severity of the resolution restrictions surprised me, but then I do appreciate that OpenGL transformations on raw bitmaps might need quite a bit of RAM - maybe this is why this sort of jiggery pokery should be done on a desktop, not a phone!

In the meantime we have a utility that's designed to offer a little geeky photo fun. And if you're a real, real geek and are writing your own OpenGL shaders, then I guess this could be a relatively painless way to try them out on the move. Just be aware of the output limitations.

Steve Litchfield, All About Symbian, 27 September 2011

Reviewed by at