10.5

Mac OS X 10.5 (Leopard)

Pulse Multitouch (originally by Danguafer/Silexars, ported to work with Multitouch) (Composition by gtoledo3)

Author: gtoledo3
License: Creative Commons Attribution-NoDerivs
Date: 2011.10.05
Compatibility: 10.5, 10.6, 10.7
Categories:
Required plugins:
kineme multitouch

This is Pulse by Danguafer/Silexars(2010) from the ShaderToy collection, changed to work with multitouch.

The original fragment code is below:

//Pulse by Danguafer/Silexars(2010)
uniform float time;
uniform vec2 resolution;
uniform vec4 mouse;
uniform sampler2D tex0;
 
void main(void)
{
    vec2 halfres = resolution.xy/2.0;
    vec2 cPos = gl_FragCoord.xy;
 
    cPos.x -= 0.5*halfres.x*sin(time/2.0)+0.3*halfres.x*cos(time)+halfres.x;
    cPos.y -= 0.4*halfres.y*sin(time/5.0)+0.3*halfres.y*cos(time)+halfres.y;
    float cLength = length(cPos);
 
    vec2 uv = (gl_FragCoord.xy/resolution.xy+(cPos/cLength)*sin(cLength/30.0-time*10.0)/25.0);
    vec3 col = texture2D(tex0,uv).xyz*50.0/cLength;
 
    gl_FragColor = vec4(col,1.0);
}

Shader Toy Collection - 704 (Composition by cybero)

Author: cybero
License: Creative Commons Attribution-NonCommercial-ShareAlike
Date: 2011.10.05
Compatibility: 10.5, 10.6, 10.7
Categories:
Required plugins:
Audio Tools

One of a collection of 29 fragment shaders ported over from the collection of 41 hosted at Shader Toy [http://www.iquilezles.org/apps/shadertoy/]. GLSL shader '704' by Paulo Falcao (2010).

Amazingly enough. considering the fact that some of the 41 posted at Shader Toy and indeed some the 29 shaders posted here didn't execute correctly in Firefox 7.0, almost all were directly ported into QC without any problem at all.

The contributing GLSL fragment shader authors are Adrian Boeing, Auld, Danguafer/Silexars, Lars Huttar, L.Mallet, Mic, Psycho/Loonies, Paulo Falcao, Simon Green/NVidia, TGGC/BluFlame, Tigrou, Viktor Korsun, W.Yutani, XT95/FRequency, xTr1m/BluFlame and iq/rgba.

Thanks to them all for these GLSL goodies. They work neatly in Quartz Composer. Some of the remaining shaders posted at Shader Toy I failed to port, whilst others ported, but performed very slowly indeed. Currently they are not included in this collection, although they do produce quite outstanding results and are well worthwhile exploring further.

The music file included in the archive below is an original Garageband mixdown of mine.

The music file in the video post is 13 by Teeth Mountain - Copyright: Attribution-Noncommercial-Share Alike 3.0 United States: http://creativecommons.org/licenses/by-nc-sa/3.0/us/ Composer: Teeth Mountain

Metablob Multitouch (Metablob original code by Adrian Boeing) (Composition by gtoledo3)

Author: gtoledo3
License: Creative Commons Attribution-NonCommercial-NoDerivs
Date: 2011.10.04
Compatibility: 10.5, 10.6, 10.7
Categories:
Required plugins:
kineme multitouch

This is based on metablob by Adrian Boeing, which is a classic metablob type shader with some animated metablobs. I've added some functions, chopped out the animation, added more metaballs and set it up for multitouch.

GLSL Mixer (Composition by gtoledo3)

Author: gtoledo3
License: Public Domain
Date: 2011.09.30
Compatibility: 10.4, 10.5, 10.6, 10.7
Categories:
Required plugins:
(none)

This is a shader example that shows how to interpolate two textures using GLSL. It's handy as a destination that one can write to and mix directly at the renderer. It's also handy because one can get in there and edit in color control for each texture, change the way the texture maps, etc., if they desire.

It's based on part of the code here: http://www.codeproject.com/KB/openGL/GLSLShader.aspx ... but, it's also totally basic functionality, and I'm pretty sure this is described on the OpenGL org docs (as well as a few different types of mix/interpolate type functions that this could be adapted to do).

Reaction Diffusion Dual Mode (Composition by gtoledo3)

Author: gtoledo3
License: BSD 3-clause
Date: 2011.09.30
Compatibility: 10.4, 10.5, 10.6, 10.7
Categories:
Required plugins:
(none)

Awhile back, I posted a reaction diffusion kernel that was in a Cinder library example, setup in QC to have the feedback loops that need to happen to make it work properly.

Since then, I put together this composition that reconciles the two different kernels that were in separate compositions in that thread, and done a few other tweaks so that there are multiple rendering modes that are a bit different.

I've placed each kernel in a separate RII/Feedback loop so that past frames generated by one kernel don't feed to the other kernel if one switches kernels during runtime. It doesn't look bad to do that, but it didn't seem right, hence the different macro's for each chain.

I've had report of it not working correctly (eg., at all) on some newer macs, but I've personally seen it working on the latest macbook 17" and a rocked out new iMac.