Смешайте цвет между красным и белым в GLSL

Я хотел бы смешать с исчезновением между основным цветом и призрачным цветом базовый цвет - белый, призрачный цвет - красный, теперь он становится черным, а не белым (смешивается с красным)

У меня базовый цвет - белый, призрачный - красный, а диффузный цвет зависит от направления света (произведение точек на нормаль и положение камеры)

#version 100
precision highp int;
precision highp float;

uniform float time;
uniform float line;
uniform float fadingTime;
uniform vec4 ghostColor;
uniform vec4 baseColor;
uniform float edgeIntensity;



varying float  lightDiffuse;

void main()
{

    float rampLight =lightDiffuse;

    float light = (1.0 - rampLight) * 0.9;
    vec4 lightColor = vec4(ghostColor.r, ghostColor.g, ghostColor.b, ghostColor.a);
    vec4 diffuseColor = lightColor*light;
    float sintime = clamp(abs(cos(time*fadingTime)), 0.0, 1.0);    

    float edgeIntens = edgeIntensity;
    edgeIntens*= sintime;
    vec4 smootheddiffuseColor = smoothstep(baseColor, vec4(lightColor), vec4(edgeIntens));

    vec4 mixeddiffuseColor = mix(baseColor, diffuseColor, vec4(smootheddiffuseColor));

    gl_FragColor = mixeddiffuseColor;

}

0 ответов

Другие вопросы по тегам