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.
Als ein Gratisnutzer von iStripper bist du nicht berechtigt Beiträge zu schreiben oder neue Topics zu starten.
Aber du hast Zugriff auf die grundlegenden Bereiche und kannst unsere Community kennen lernen