概要
plunkerでshadertoyのglsl動かしてみた。
TUTORIAL、やってみる。
TUTORIAL 16
BUILT-IN FUNCTIONS: SMOOTHSTEP
void mainImage(out vec4 fragColor, in vec2 fragCoord) {
vec2 r = 2.0 * vec2(fragCoord.xy - 0.5 * iResolution.xy) / iResolution.y;
vec2 p = vec2(fragCoord.xy / iResolution.xy);
vec3 bgCol = vec3(0.0);
vec3 col1 = vec3(0.216, 0.471, 0.698);
vec3 col2 = vec3(1.00, 0.329, 0.298);
vec3 col3 = vec3(0.867, 0.910, 0.247);
vec3 pixel = bgCol;
float edge, variable, ret;
if (p.x < 1. / 5.)
{
float edge = 0.5;
ret = step(edge, p.y);
}
else if (p.x < 2. / 5.)
{
float edge0 = 0.45;
float edge1 = 0.55;
float t = (p.y - edge0) / (edge1 - edge0);
float t1 = clamp(t, 0.0, 1.0);
ret = t1;
}
else if (p.x < 3. / 5.)
{
float edge0 = 0.45;
float edge1 = 0.55;
float t = clamp((p.y - edge0) / (edge1 - edge0), 0.0, 1.0);
float t1 = 3.0 * t * t - 2.0 * t * t * t;
ret = t1;
}
else if (p.x < 4. / 5.)
{
ret = smoothstep(0.45, 0.55, p.y);
}
else if (p.x < 5. / 5.)
{
float edge0 = 0.45;
float edge1 = 0.55;
float t = clamp((p.y - edge0) / (edge1 - edge0), 0.0, 1.0);
float t1 = t * t * t * (t * (t * 6. - 15.) + 10.);
ret = t1;
}
pixel = vec3(ret);
fragColor = vec4(pixel, 1.0);
}
写真
成果物
以上。
