regl 形状绘制 简单花瓣

原文链接: regl 形状绘制 简单花瓣

上一篇: regl 圆形色盘

下一篇: regl 随机噪声 实现烟雾或云

https://thebookofshaders.com/07/?lan=ch

up-f673bb731175c065bba443337c06b4d55ed.png

import Regl from "regl";
export default async () => {
  const regl = Regl();
  regl.clear({
    color: [0, 0, 0, 1],
    depth: 1,
  });
  regl({
    frag: `
    precision mediump float;
    uniform float u_time;
   
    void main () {
      vec2 st = gl_PointCoord.xy;
      vec3 color = vec3(0.0);
      vec2 pos = vec2(0.5)-st;
      float r = length(pos)*2.0;
      float a = atan(pos.y,pos.x);
      float f = cos(a*3.);
      // f = abs(cos(a*3.));
      f = abs(cos(a*2.5))*.5+.3;
      // f = abs(cos(a*12.)*sin(a*3.))*.8+.1;
      // f = smoothstep(-.5,1., cos(a*10.))*0.2+0.5;
  
      color = vec3( 1.0 -smoothstep(f,f+0.02,r),r,f );
      gl_FragColor = vec4(color,1.0);
    }`,
    vert: `
    precision mediump float;
    attribute vec2 position;
    void main () {
      gl_Position = vec4(position, 0, 1);
      gl_PointSize =  500.0;
    }`,
    attributes: {
      position: [[0, 0]],
    },
    primitive: "points",
    count: 1,
  })();
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值