So, GLSL. It’s been in the buzz, mentioned in various threads - I’ve certainly been frothing about it. TLL has mentioned it may show up as a feature. What is it, and should you care? Let’s find out.
First, a link to a free app: http://itunes.apple.com/us/app/paragraf/id422685475?mt=8&ls=1
That’s “Paragraf”, an app that lets you write GLSL stuff, much as Codea let’s you write Lua stuff. Rather than wasting your time describing things, i suggest you download it and mess around for 5 minutes, looking at the examples. I hate their color scheme, but I love what they’ve done, and free is downright generous. 5 stars.
In a nutshell - GLSL let’s you write special programs called “shaders” that execute on the GPU instead of the CPU. The GPU is optimized to do this sort of stuff very, very fast, massively in parallel, so some graphics effects can be thousands of times faster than they would be implemented on the CPU in any normal language. “shader” is a historic term - they used to be only for shading, but are now general purpose, usable for all kinds of graphical manipulation, including 3d transforms, filters, and even oddball stuff like Conway’s Life game, which blows me away to this day. The Pargraf app examples are a good overview of the variety of effects you can achieve.
GLSL is insanely powerful, and profoundly crippled at the same time; it does one thing - graphics manipulation and effects - hugely well, and other things (like general purpose computing, or simple input/output) poorly or not at all. This is why a marriage of Codea and GLSL is so exciting - each can cover for the others shortcomings.
Fair warning - if there ever was an “advanced users” feature, this is it; I won’t pretend I even understand how most of the examples work! But - learning is fun, and I’m perfectly ok swiping bits of code while I do.
Anyway - found this while spelunking, wanted to share. It’s not in Codea, but I think it’s firmly in the “desirable and likely” category - it was first suggested by @Dylan, one of the Codea devs. Plus, I’ve been raving like a lunatic about it - go look and see for yourself if I’m blowing it out of proportion.
Best of all - I can think of no conceivable reason why Apple would balk at its inclusion; there’s even a sample iOS project up in github (easy to google for, but let me know if I should post a link), so it’s hopefully straightforward to implement as part of Codea as well.