ShaderJoy —— 似曾相识的转圈圈【GLSL】

「爱情、让人受尽委屈。」 2023-01-08 13:24 272阅读 0赞

效果图

2021012011463926.gif

核心设计思路

一、绘制圆环

我们可以通过将两个半径不同的圆进行相减来得到圆环

  1. /// @note 圆环
  2. float mask = Circle(uv, vec2(0., 0.), 0.5, 0.01);
  3. mask -= Circle(uv, vec2(0., 0.), 0.35, 0.01);

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BhbmRhMTIzNGxlZQ_size_16_color_FFFFFF_t_70

二、营造旋转

将 uv 坐标换算到极坐标的角度(并重新映射到 0.-1.)

  1. float angle = atan(uv.y, uv.x);
  2. angle = Remap(-PI, PI, 1.0, .0, angle);

发表评论

表情:
评论列表 (有 0 条评论,272人围观)

还没有评论,来说两句吧...

相关阅读