I'm relativ new to Resolume, but I have been developing my own VJ tools in Max/msp-jitter for some years now.
I have been using a lot of the GSLS shaders from vade and the built in shaders in max. Some of these effects I have grown to depend upon, and as much as I can gather, there is a way of porting some of this code to FFGL plugin effects in Resolume.
I saw one thread that links to GitHub: https://github.com/resolume/ffgl , where, as I understand, you find the Xcode framework for making the plugin. Issue is I have never used Xcode, and I'm not a shader programmer.
Can anyone of you tell me if there is a tutorial on how to create a plugin using Xcode? I understand that explaining shader programming is well beyond what I can ask, but as long as get som idea of how to make a plugin using the linked framework and Xcode, I can always do some trail and errors porting the shaders from jitter. Also, it might be that I misunderstand all of this and to you developers, this is just gibberish.
This is one of the shaders I would like to port to Resolume and make a plugin of: (just for reference).
Thanks for any feedback

<jittershader name="contrast-interp">
<description>Shader for for modifying image contrast by interpolation and extrapolation</description>
<param name="image" type="int" default="0" />
<param name="avgluma" type="vec3" default="0.62 0.62 0.62" />
<param name="contrast" type="float" default="1.0" />
<param name="brightness" type="float" default="1.0" />
<param name="saturation" type="float" default="1.0" />
<param name="alpha" type="float" default="1.0" />
<language name="glsl" version="1.0">
<bind param="image" program="fp" />
<bind param="avgluma" program="fp" />
<bind param="contrast" program="fp" />
<bind param="brightness" program="fp" />
<bind param="saturation" program="fp" />
<bind param="alpha" program="fp" />
<program name="vp" type="vertex">
<![CDATA[
//
// Vertex shader for modifying image contrast by
// interpolation and extrapolation
//
// Author: Randi Rost
//
// Copyright (c) 2003-2005: 3Dlabs, Inc.
//
// See 3Dlabs-License.txt for license information
//
varying vec2 texcoord;
void main (void)
{
gl_Position = ftransform();
texcoord = vec2(gl_TextureMatrix[0] * gl_MultiTexCoord0);
}
]]>
</program>
<program name="fp" type="fragment">
<![CDATA[
//
// Fragment shader for modifying image contrast by
// interpolation and extrapolation
//
// Author: Randi Rost
//
// Copyright (c) 2002: 3Dlabs, Inc.
//
// See 3Dlabs-License.txt for license information
//
const vec3 LumCoeff = vec3 (0.2125, 0.7154, 0.0721);
varying vec2 texcoord;
uniform sampler2DRect image;
uniform vec3 avgluma;
uniform float saturation;
uniform float contrast;
uniform float brightness;
uniform float alpha;
void main (void)
{
vec3 texColor = texture2DRect(image, texcoord).rgb;
vec3 intensity = vec3 (dot(texColor, LumCoeff));
vec3 color = mix(intensity, texColor, saturation);
color = mix(avgluma, color, contrast);
color *= brightness;
gl_FragColor = vec4 (color, color.g*alpha);
}
]]>
</program>
</language>
</jittershader>