color: 0.532, 0.449, 0.091, 0.5 //goldalpha
//material: true
// --- trying simple tracking of lips.
// Red component is dominating the whole body.
// (col-min)/(Max-min) is normalized saturated color
// ( no luminance effect, 0 for blue, 1 for red )
// so that (col.g-min)/(Max-min) measures the orangeness: 0:red 1:yellow
void mainImage( out vec4 O, vec2 U )
{
O = texture(iChannel0, U / iResolution.xy);
float m = min(O.r,min(O.g,O.b)),
M = max(O.r,max(O.g,O.b));
// O = vec4(1.-(O.g-m)/(M-m)); // orangeness map
O = mix(O, vec4(length(O.xyz)), smoothstep(.2,.4, (O.g-m)/(M-m)) );
// O = mix(O, vec4(length(O.xyz)), smoothstep(.0,.1, abs((O.g-m)/(M-m))-.27) );
}
#version 130
// --- trying simple tracking of lips.
// Red component is dominating the whole body.
// (col-min)/(Max-min) is normalized saturated color
// ( no luminance effect, 0 for blue, 1 for red )
// so that (col.g-min)/(Max-min) measures the orangeness: 0:red 1:yellow
uniform vec2 u_WindowSize;
uniform sampler2D texture0;
varying vec4 gl_TexCoord[];
#define iResolution u_WindowSize
vec4 mainImage( out vec4 O, in vec4 U )
{
float m = min(U.r,min(U.g,U.b));
float M = max(U.r,max(U.g,U.b));
O = mix(U, vec4(length(U.xyz)), smoothstep(.2,.4, (U.g-m)/(M-m)) );
return O;
}
void main(void) {
vec4 vTexCoord = gl_TexCoord[0];
highp vec4 U = texture2D(texture0,vTexCoord.xy);
vec4 fColor = vec4(1.0);
vec4 cc = mainImage(fColor, U); // call function mainImage and assign the return vec4 to cc
gl_FragColor = vec4(cc);
}
clipSprite { // Clip Center
pos: 0, 480, 1
standingHeight: 950
sittingHeight: 950
source: MainClip
scale: -1.0, 1.0, 1.0
opacity: 1.0
shader: fragment, Shaders/red.fsh
}
#version 130
// --- trying simple tracking of lips.
// Red component is dominating the whole body.
// (col-min)/(Max-min) is normalized saturated color
// ( no luminance effect, 0 for blue, 1 for red )
// so that (col.g-min)/(Max-min) measures the orangeness: 0:red 1:yellow
uniform vec2 u_WindowSize;
uniform sampler2D texture0;
varying vec4 gl_TexCoord[];
#define iResolution u_WindowSize
///////////////////////////////////////////////
vec4 mainImage( out vec4 O, in vec4 U )
{
float aO = U.a; // preserve opacity of model
float m = min(U.r,min(U.g,U.b));
float M = max(U.r,max(U.g,U.b));
//O = vec4(1.-(U.g-m)/(M-m)); // orangeness map
O = mix(U, vec4(length(U.xyz)), smoothstep(.2,.3, (U.g-m)/(M-m)) );
//O = mix(U, vec4(length(U.xyz)), smoothstep(.0,.1, abs((U.g-m)/(M-m))-.27) );
O.a = aO; // reset opacity
return O;
}
///////////////////////////////////////////////
void main(void) {
vec4 vTexCoord = gl_TexCoord[0];
highp vec4 U = texture2D(texture0,vTexCoord.xy);
vec4 O = vec4(1.0);
vec4 cc = mainImage(O, U); // call function mainImage and assign the return vec4 to cc
gl_FragColor = vec4(cc);
}
///////////////////////////////////////////////
void main(void) {
vec4 vTexCoord = gl_TexCoord[0];
highp vec4 U = texture2D(texture0,vTexCoord.xy);
vec4 O = vec4(1.0);
vec4 cc = mainImage(O, U); // call function mainImage and assign the return vec4 to cc
gl_FragColor = vec4(cc);
gl_FragColor.a *= gl_Color.a; //Multiply by Scene Opacity
}
@Wyldanimal
Thanks. Lots for me to study there I think. The effect looks very ***** but it's the procedure that interests me the most.
gl_FragColor = vec4( (f4.rgb-poop.rrr)+mods, f4.a );to
gl_FragColor = vec4( (f4.rgb-poop.rgb)+mods, f4.a );
I'll have to try that first isolation shader thingie.😎 For the second one you mean Oompa Loompa orange? Nah, but do you have Orion slave(r) girl green? That might be fun.😆
Hey yeah, that is kinda fun. Next maybe the monochromatic Nebari.👍 😄 😎
vec3 del = vec3(poop.r, poop.b, poop.r);
gl_FragColor = vec4( (f4.rgb-del)+mods, f4.a );
vec3 del = vec3(poop.r*0.5, poop.b, poop.r);will make her more yellow.
Hey yeah, that is kinda fun. Next maybe the monochromatic Nebari.👍 😄 😎
poop.r = (dot(poop.r+mods.r,lum));
poop.g = clamp( (dot(poop.g+mods.g,lum)), -1.0, 0.0);
poop.b = clamp( (dot(poop.b+mods.b,lum)), -1.0, 0.0);
vec3 del = vec3(poop.r, poop.g, poop.b);
gl_FragColor = vec4( (f4.rgb-del)+mods, f4.a );
#version 120
uniform sampler2D texture0;
vec4 vTexCoord = gl_TexCoord[0];
uniform vec2 textureSize0;
vec3 poop;
vec3 LC = vec3(0.2126, 0.7152, 0.0722);
float GetLuma(vec3 rgb) {
return dot(LC, rgb);
}
void main(void)
{
vec4 f4 = texture2D(texture0, vTexCoord.xy);
float lum = GetLuma(f4.rgb);
poop.r = f4.r-((f4.g+f4.b)*0.5);
poop.g = f4.g-((f4.r+f4.b)*0.5);
poop.b = f4.b-((f4.g+f4.r)*0.5);
poop.r = (dot(poop.r,lum));
poop.g = clamp( (dot(poop.g,lum)), -1.0, 0.0);
poop.b = clamp( (dot(poop.b,lum)), -1.0, 0.0);
vec3 del = vec3(poop.r, poop.b, poop.r);
gl_FragColor = vec4( (f4.rgb-del), f4.a );
}
vec3 a = vec3(poop.r, poop.r, poop.b);
vec3 b = vec3(poop.r, poop.b, poop.r);
vec3 del = mix(a, b, smoothstep(0.45, 0.55, (lum+((1.0+sin(u_Elapsed))*0.5) )*0.5 ) );
gl_FragColor = vec4( (f4.rgb-del), 1.0 );
vec3 a = vec3(poop.r, poop.r, poop.b);
vec3 b = vec3(poop.r, poop.b, poop.r);
float posx = 0.5+(sin(u_Elapsed*0.5)*0.5);
float x = smoothstep(0.35, 0.65, distance(vTexCoord.x, posx) );
float posy = 0.5+(cos(u_Elapsed*2.0)*0.5);
float y = smoothstep( 0.35, 0.65, distance(vTexCoord.y, posy) );
vec3 del = mix(a, b,(x+y)*smoothstep(0.45, 0.55, (lum+((1.0+sin(u_Elapsed))*0.5) )*0.5 ) );
gl_FragColor = vec4( (f4.rgb-del), 1.0 );
@ComteDracula wrote .. Thanks @EverthangForever.It is worth re-stating that the @WA re-coded style of the converted shaders since FG700 does
I see an improvement in the last scenes. Even the ones that use 100% of the CPU, and also with the 4K cards.
@Z22
Freaky.😎 Her predator camo keeps going down, eh.😄
@Z2
Think that will do for today, will do the usual and add glass into the mix. Maybe ... it might look shite.
Thanks, I think it'll take me several weeks to grasp this. Only just starting out with shaders.
As a free user of iStripper, you are not allowed to answer a topic in the forum or to create a new topic.
But you can still access basics categories and get in touch with our community !