I think I may have fixed the Gradients shader below.
Thanks are due once again to -NiCo- from the OpenGL GLSL Forum for pointing out an uninitialised variable in my converted code that I think was the cause of the weirdness in the previous post. I’ve yet to test it on my G5 at home, but on my MacBook Pro, my QC GLSL version of the shader is now producing more-or-less the same output as the original HLSL effect running in vvvv.
One thing I didn’t twig earlier is that while the suggested ranges for the controls in the vvvv plugin are quite wide (0 to 1000 or -1000 to 1000), the actual usable range is much more limited, with most of the image turning into basically random-looking noise quite quickly when the controls are turned-up. Set to such a large range, the QC sliders simply don’t have the resolution to create the more subtle effect seen in the screenshots. I’m considering including a ‘range’ slider to premultiply all the controls for courser or finer-grained control.
Quartz Composer / GLSL
vvvv / HLSL
The only major difference between the outputs from vvvv and QC (apart from the colours) is that they’re flipped vertically in relation to each other. I flipped one of the screenshots for easier comparison. I guess coords in vvvv start at bottom-left, rather than top-left, as they do in GLSL.
I’m going to email the guy who wrote the effect, and see what he thinks about me posting the GLSL code and the original HLSL here. Don’t want to post it here without contacting him first.