Vulcano
Member
I have found this thread but I cannot join my 2 shaders.
--------------------------------------------------
Shader 1
--------------------------------------------------
void main()
{
// Sample random high-frequency noise
vec4 randomHiFreq = whiteNoise(v_vTexcoord, randomValues.xy);
// Apply line offsets
vec2 offsetCoords = v_vTexcoord;
offsetCoords.x += ((((2.0 * randomValues.z) - 1.0) * shakiness * lineSpeed) + lineOffset(offsetCoords)) * lineShift * intensity;
// Apply jumbles
offsetCoords += jumble(offsetCoords) * intensity * intensity * 0.25;
// Channel split
vec2 shiftFactors = (channelShift + (randomHiFreq.rg * dispersion)) * intensity;
vec4 outColour;
// Free dynamic branch.
if (((channelShift + dispersion) * intensity) < DELTA) {
outColour = texture2D(gm_BaseTexture, mirror(offsetCoords));
} else {
outColour = extractRed(texture2D(gm_BaseTexture, mirror(offsetCoords + vec2(shiftFactors.r, 0.0)))) + extractBlue(texture2D(gm_BaseTexture, mirror(offsetCoords + vec2(-shiftFactors.g, 0.0)))) + extractGreen(texture2D(gm_BaseTexture, mirror(offsetCoords)));
}
// Add noise
outColour.rgb *= (vec3(.55, .5, .4) * randomHiFreq.gab * intensity * noiseLevel) + 1.0;
gl_FragColor = v_vColour * outColour;
}
--------------------------------------------------
Shader 2
--------------------------------------------------
varying vec2 v_texcoord;
uniform float time;
uniform vec2 mouse_pos;
uniform vec2 resolution;
uniform float radial_blur_offset;
uniform float radial_brightness;
const float blur_amount = 30.0;
void main()
{
vec2 uv = vec2(v_texcoord);
vec2 radial_size = vec2(1.0/resolution);
radial_size.x *= (resolution.x/resolution.y);
vec2 radial_origin = vec2(mouse_pos/resolution);
vec4 colour = vec4(0.0);
uv += radial_size * 0.5 - radial_origin;
for (float i = 0.0; i < blur_amount; i++)
{
float offset = 1.0 - radial_blur_offset * (i / (blur_amount - -300.0));
colour += texture2D(gm_BaseTexture, uv * offset + radial_origin);
}
gl_FragColor = colour / (blur_amount - 1.0) * radial_brightness;
}
Any idea? Thanks anyway.
--------------------------------------------------
Shader 1
--------------------------------------------------
void main()
{
// Sample random high-frequency noise
vec4 randomHiFreq = whiteNoise(v_vTexcoord, randomValues.xy);
// Apply line offsets
vec2 offsetCoords = v_vTexcoord;
offsetCoords.x += ((((2.0 * randomValues.z) - 1.0) * shakiness * lineSpeed) + lineOffset(offsetCoords)) * lineShift * intensity;
// Apply jumbles
offsetCoords += jumble(offsetCoords) * intensity * intensity * 0.25;
// Channel split
vec2 shiftFactors = (channelShift + (randomHiFreq.rg * dispersion)) * intensity;
vec4 outColour;
// Free dynamic branch.
if (((channelShift + dispersion) * intensity) < DELTA) {
outColour = texture2D(gm_BaseTexture, mirror(offsetCoords));
} else {
outColour = extractRed(texture2D(gm_BaseTexture, mirror(offsetCoords + vec2(shiftFactors.r, 0.0)))) + extractBlue(texture2D(gm_BaseTexture, mirror(offsetCoords + vec2(-shiftFactors.g, 0.0)))) + extractGreen(texture2D(gm_BaseTexture, mirror(offsetCoords)));
}
// Add noise
outColour.rgb *= (vec3(.55, .5, .4) * randomHiFreq.gab * intensity * noiseLevel) + 1.0;
gl_FragColor = v_vColour * outColour;
}
--------------------------------------------------
Shader 2
--------------------------------------------------
varying vec2 v_texcoord;
uniform float time;
uniform vec2 mouse_pos;
uniform vec2 resolution;
uniform float radial_blur_offset;
uniform float radial_brightness;
const float blur_amount = 30.0;
void main()
{
vec2 uv = vec2(v_texcoord);
vec2 radial_size = vec2(1.0/resolution);
radial_size.x *= (resolution.x/resolution.y);
vec2 radial_origin = vec2(mouse_pos/resolution);
vec4 colour = vec4(0.0);
uv += radial_size * 0.5 - radial_origin;
for (float i = 0.0; i < blur_amount; i++)
{
float offset = 1.0 - radial_blur_offset * (i / (blur_amount - -300.0));
colour += texture2D(gm_BaseTexture, uv * offset + radial_origin);
}
gl_FragColor = colour / (blur_amount - 1.0) * radial_brightness;
}
Any idea? Thanks anyway.
Last edited by a moderator: