ShaderJoy —— 水平分区过渡特效【GLSL】

举报
ShaderJoy 发表于 2021/11/18 22:40:09 2021/11/18
【摘要】 效果图    算法核心思路   首先我们将 uv 坐标的 x 分量进行分区(这里为了容易看清,所以设置为黑白) 将 uv.x 分为 6 个区   接下来我们看看是如何实现周期性的过渡,取值范围从 0. 到 1. float pr...

效果图 

 

算法核心思路

 

首先我们将 uv 坐标的 x 分量进行分区(这里为了容易看清,所以设置为黑白)

将 uv.x 分为 6 个区

 

接下来我们看看是如何实现周期性的过渡,取值范围从 0. 到 1.

float progress = abs(sin(iTime * 0.75));
 

没错,简单的 sin 函数就能满足我们的需求。

然后我们在对 uv 坐标的 x 分量进行检查,看其是否落在了指定的区间内


      /// 检查 uv.x 是否落在区间内
      if ((uv.x > i) && (uv.x < i + lineW * progress)) ///< 
  
 

文章来源: panda1234lee.blog.csdn.net,作者:panda1234lee,版权归原作者所有,如需转载,请联系作者。

原文链接:panda1234lee.blog.csdn.net/article/details/111151602

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。