glfx 彩色网格

原文链接: glfx 彩色网格

上一篇: glfx 透镜

下一篇: gl-matrix 简单瞅瞅

up-d9f24766f005a6b6c9ea8cffc9ae0906765.png


const vert = `
precision highp float;
attribute vec2 vertex;
attribute vec2 uv;
varying vec2 texCoord;
void main() {
  texCoord=uv;
  gl_Position = vec4(vertex, 0.0, 1.0);
}
`;

const frag = `
precision highp float;
uniform sampler2D texture;
uniform vec2 center;
uniform float angle;
uniform float scale;
uniform vec2 texSize;
varying vec2 texCoord;
float pattern(float angle) {
  float s = sin(angle), c = cos(angle);
  vec2 tex = texCoord * texSize - center;
  vec2 point = vec2(c * tex.x - s * tex.y, s * tex.x + c * tex.y) * scale;
  return (sin(point.x) * sin(point.y)) * 4.0;
}
void main() {
  vec4 color = texture2D(texture, texCoord);
  vec3 cmy = 1.0 - color.rgb;
  float k = min(cmy.x, min(cmy.y, cmy.z));
  cmy = (cmy - k) / (1.0 - k);
  cmy = clamp(cmy * 10.0 - 3.0 + vec3(pattern(angle + 0.26179),
                                      pattern(angle + 1.30899), pattern(angle)),
              0.0, 1.0);
  k = clamp(k * 10.0 - 5.0 + pattern(angle + 0.78539), 0.0, 1.0);
  gl_FragColor = vec4(1.0 - cmy - k, color.a);
}
`;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值