unsuccessful experimentation
This commit is contained in:
@@ -12,9 +12,11 @@ uniform vec4 u_testColor;
|
||||
float circle(vec2 uv, float radius)
|
||||
{
|
||||
float distSq = uv.x * uv.x + uv.y * uv.y;
|
||||
// float result = sqrt(distSq) / radius * 0.8;
|
||||
float result = sqrt(distSq) / radius;
|
||||
// return result < 0.5;
|
||||
return clamp(1.0 - result, 0.0, 1.0);
|
||||
// float clamped = clamp(1.0 - result, 0.0, 1.0);
|
||||
float clamped = clamp(1.5 - result, 0.0, 1.0);
|
||||
return clamped;
|
||||
}
|
||||
|
||||
float calcBrightness(vec3 lightPos, vec3 vertPos, vec3 normal)
|
||||
@@ -65,8 +67,9 @@ void main()
|
||||
// float brightness = calcBrightness(lightPos, v_wpos, v_normal);
|
||||
float brightness = calcBrightnessDirectional(vec3(0.5, 0.3, 1.0), v_normal);
|
||||
// brightness = 1.0;
|
||||
// brightness = 0.1 + brightness * 0.9;
|
||||
// brightness = sin(u_time.x) * 0.5 + 0.5;
|
||||
|
||||
// Magic dot frequency calculation
|
||||
float baseScale = 2.0;
|
||||
float2 dx = ddx(v_uv0 * baseScale);
|
||||
float2 dy = ddy(v_uv0 * baseScale);
|
||||
@@ -78,24 +81,28 @@ void main()
|
||||
float discriminant = sqrt(discriminantSqr);
|
||||
float2 freq = sqrt(float2(qq + discriminant, qq - discriminant) / 2.0);
|
||||
|
||||
// Figuring out how many dots we want
|
||||
float spacing = freq.y * exp2(2.0);
|
||||
spacing = 1.0 / spacing;
|
||||
spacing *= brightness; // TODO: check reference to see how to calculate this!
|
||||
float spacingLog = max(log2(spacing), 0.0);
|
||||
int patternScaleLevel = floor(spacingLog);
|
||||
float patternFractional = spacingLog - patternScaleLevel;
|
||||
|
||||
vec2 uv = v_uv0 * exp2(patternScaleLevel);
|
||||
float dither = circles(uv, patternScaleLevel, patternFractional, brightness);
|
||||
|
||||
// Coloring
|
||||
vec3 texColor = u_testColor.x > 0.1 ? u_testColor.xyz : texture2D(s_texColor, v_uv0).xyz;
|
||||
vec3 color = desaturate(texColor) * 0.01 + dither * texColor * 0.95;
|
||||
vec3 smoothColor = brightness * u_testColor.xyz;
|
||||
vec3 mixedColor = 0.1 * smoothColor + 0.9 * color;
|
||||
// gl_FragColor = vec4(mixedColor, 1.0);
|
||||
vec3 color;
|
||||
color.r = circles(uv, patternScaleLevel, patternFractional, brightness * texColor.r);
|
||||
color.g = circles(uv, patternScaleLevel, patternFractional, brightness * texColor.g);
|
||||
color.b = circles(uv, patternScaleLevel, patternFractional, brightness * texColor.b);
|
||||
// color = circles(uv, patternScaleLevel, patternFractional, brightness) * texColor;
|
||||
gl_FragColor = vec4(color, 1.0);
|
||||
// vec3 smoothColor = brightness * u_testColor.xyz;
|
||||
// gl_FragColor = brightness;
|
||||
// gl_FragColor = dither;
|
||||
// gl_FragColor = u_testColor;
|
||||
// gl_FragColor = texture2D(s_texColor, v_uv0);
|
||||
// gl_FragColor = vec4(texColor, 1.0);
|
||||
// gl_FragColor = vec4(v_normal, 1.0);
|
||||
// gl_FragColor = vec4(uv, 0.0, 1.0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user