临摹一个像素风格高楼shader
原始效果地址:http://glslsandbox.com/e#40050.0
是一个的城市高楼感的shader,比较像素风
可以拿来做游戏背景,或者基于这个思路做一些别的效果
这个是我后来找的版本,因为最早那个版本没存,所以大体上有些区别。
下面开始分解这个的做法
大体思路是用一种噪波作为因子,可以是sin,cos或者别的。然后用floor把他转成int形。这样生成出来的图案就是方块
最后加一层循环来做到层叠效果
step1.用sin作为因子,加上简单的时间偏移
fixed4 frag (v2f i) : SV_Target
{
float a = 0.0; if (i.uv.y < sin(i.uv.x*+_Time.y)*0.5)
a = ; return fixed4(a, a, a, 1.0);
}
step2.将值转为int从而变成方形
fixed4 frag(v2f i) : SV_Target
{
fixed4 a = 0.0; if (i.uv.y < floor(sin(i.uv.x * + _Time.z) * )*0.5)
a = ; return fixed4(a, a, a, 1.0);
}
Step3.然后加上for循环,带入索引,做出纵深
fixed4 frag (v2f i) : SV_Target
{
fixed a = 0.0;
fixed max = 10.0;
fixed2 uv = i.uv; for (float i = ; i < max; i++)
{
fixed factor = floor(sin(uv.x * / i + i * + _Time.y)*)*0.5;
if (uv.y*i < factor)
a = i/max;
} return fixed4(a, a, a, 1.0);
}
到上面那一步基本上就可以了,下面是我的版本:
fixed4 frag(v2f i) : SV_Target
{
fixed a = 0.0;
fixed2 uv = i.uv;
fixed max = ; for (int i = ; i < max; i++)
{
fixed iFloat = fixed(i);
fixed factor = floor(uv.x * / iFloat + * iFloat + _Time.z); if (uv.y * ( + iFloat) < sin(factor))
a = iFloat / max;
} return fixed4(a, a, a, 1.0);
}
临摹一个像素风格高楼shader的更多相关文章
- 【Unity Shader实战】卡通风格的Shader(二)
写在前面 本系列其他文章: 卡通风格的Shader(一) 好久没写博客了,一定是因为课程作业比较多,一定不是因为我懒,恩恩. 三个月以前,在一篇讲卡通风格的Shader的最后,我们说到在Surface ...
- 【Unity Shader实战】卡通风格的Shader(一)
写在前面 本系列其他文章: 卡通风格的Shader(二) 呜,其实很早就看到了这类Shader,实现方法很多,效果也有些许不一样.从这篇开始,陆续学习一下接触到的卡通类型Shader的编写. 本篇的最 ...
- Atitit 图像处理Depixelizing Pixel Art像素风格画的矢量化
Atitit 图像处理Depixelizing Pixel Art像素风格画的矢量化 在去年的时候,偶然看到hqx算法. 一个高质量的插值放大算法. 与双线性插值等插值算法相比,这个算法放大后对人眼 ...
- 【移动适配】一个像素的border怎么实现
一个像素里复杂纷扰的世界 文 | 啃先生 Mar.3rd.2016 首发于微信公众号(啃先生) 上一篇发了<[移动适配]移动Web怎么做屏幕适配> 壹 | Fisrt 在CSS的世界里P ...
- 通过beego快速创建一个Restful风格API项目及API文档自动化
通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界 ...
- 一个Bootstrap风格的分页控件
http://www.cnblogs.com/wangwei123/p/3682626.html 主题 jQueryBootstrap 一个Bootstrap风格的分页控件,对于喜欢Bootstr ...
- 经典算法面试题目-翻转一个C风格的字符串(1.2)
题目: Write code to reverse a C-Style String. (C-String means that "abcd" is represented as ...
- jQuery分页插件jBootstrapPage,一个Bootstrap风格的分页插件
一个Bootstrap风格的分页控件,对于喜欢Bootstrap简洁美观和扁平化的同学可以关注jBootstrapPage, 目前jBootstrapPage最新版为V0.1,后续还有更多功能需要完善 ...
- HTML5 Canvas中实现绘制一个像素宽的细线
正统的HTML5 Canvas中如下代码 ctx.lineWidth = 1; ctx.beginPath(); ctx.moveTo(10, 100); ctx.lineTo(300,100); c ...
随机推荐
- vs2017莫名自动退出调试状态可以尝试一下如下的方法
- Flash Actionscript AS3 渐变透明 mask遮罩
把图片变成渐变透明(左图是效果图,右图是原图) var a:Sprite = new Sprite(); a.graphics.beginGradientFill(GradientType.LI ...
- Axure 图片轮播(广告通栏图片自动播放效果)
baiduYunpan:http://pan.baidu.com/s/1eRPCy90 里面的“图片轮播”部件即可实现这个功能
- django之创建站点之基本流程
创建工程: 1.在D盘下创建一个文件夹名为djangoweb,切换到文件夹所在目录 C:\Administrator>d: D:\>cd d:\djangoweb 2.创建工程(成功没有提 ...
- 搭建ssm框架项目基本原理和主要的配置文件小结
原文地址:https://blog.csdn.net/baidu_32739019/article/details/73928040 1.springmvc是spring框架的一个模块,springm ...
- OpenCV学习代码记录——canny边缘检测
很久之前学习过一段时间的OpenCV,当时没有做什么笔记,但是代码都还在,这里把它贴出来做个记录. 代码放在码云上,地址在这里https://gitee.com/solym/OpenCVTest/tr ...
- highstock禁用UTC
xAxis: { labels: { format: '{value:%Y-%m-%d}', /* * 也可以用 formatter 格式化函数,时间格式化说明如下: * %Y 年 * %m 月 * ...
- linux线程学习
按照书上写的,不知道为什么有问题: //已解决,参考最新的blog,哈哈 #include <stdlib.h> #include <pthread.h> #include & ...
- php 执行命令函数
/** Method to execute a command in the terminal Uses : 1. system 2. passthru 3. exec 4. shell_exec * ...
- Xcode 常用插件
1.Xcode 插件 从 Xcode 8 起 Apple 禁用 Xcode 插件. 1)Xcode 插件安装目录 ~/library/Application Support/Developer/Sha ...