cinder/Cinder — pull request #523 by clinthidinger (2014-10-03 14:56:15+00:00)
Title: Support compute shaders while still targeting GL 3.2

This is a suggestion of how compute shaders could be supported while still targeting GL 3.2. I replaced the shader string member variables in GlslProg::Format with a map. I also added a shaderStage function that takes the shader type and the source. Users can then use compute shaders by doing:

mUpdateProg = gl::GlslProg::create( gl::GlslProg::Format().shaderStage( loadAsset( "particleUpdate.cs.glsl" ), GL_COMPUTE_SHADER ) );

To test this change, I converted the ParticlesGPU sample to use compute shaders in ParticlesCS. It works under Visual Studio 2013. I also ran several of the existing samples under _opengl on both osx and windows.

![image](https://cloud.githubusercontent.com/assets/2839955/4507111/b15148d4-4b09-11e4-825e-353b659fc6ca.png)