临摹一个像素风格高楼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 ...
随机推荐
- cocos2d-js 3.0 RC0 监听返回键、菜单键、进入后台(home键)、恢复显示等事件
cc.eventManager.addListener({ event: cc.EventListener.KEYBOARD, onKeyReleased: function(keyCode, eve ...
- Spring MVC 零配置 / Spring MVC JavaConfig
1. Spring MVC的核心就是DispatcherServlet类,Spring MVC处理请求的流程如下图所示: 2. Spring MVC中典型的上下文层次 当我们初始化一个Dispatch ...
- Excel分数、小数、身份证的录入
身份证输入: 方法1:将单元格格式设置为文本,在输入数据 方法2:在输入之前输入英文状态下的单引号在输入数据 分数输入: 办法1:0[空格]数字/数字,如:0 1/3 办法2:将需要输入数据的区域设置 ...
- django之创建第7-5-第二种传值方式(time/1232/xiaodneg)
1.修改views文件 def foo(request,myID,myName): t = loader.get_template("foo.html") user = {&quo ...
- python之模块pprint之常见用法
# -*- coding: cp936 -*- #python 27 #xiaodeng #python之模块pprint之常见用法 import pprint data = [(1,{'a':'A' ...
- Jquery 获取对象的几种方式(转载)
1.先讲讲JQuery的概念 JQuery首先是由一个 America 的叫什么 John Resig的人创建的,后来又很多的JS高手也加入了这个团队.其实 JQuery是一个JavaScript的类 ...
- 监听Sms.Content_URI而不是Sms.Inbox.CONTENT_URI
getContentResolver().registerContentObserver(Sms.Inbox.CONTENT_URI, true, newMsgObserver); / ...
- QQ登录整合/oauth2.0认证-01-申请appkey和appid
本节需要你申请appkey和appid还有绑定域名的空间 首先 再讲课之前 你需要准备以下东西 到腾讯开发平台中申请 开发者 获得appid 和appkey 这两个东东 这两个东东 就算没审核 也可以 ...
- <转>SQL 左外连接,右外连接,全连接,内连接
本文节选自:https://www.cnblogs.com/youzhangjin/archive/2009/05/22/1486982.html 连接条件可在FROM或WHERE子句中指 ...
- Effective Tensorflow[转]
Effective TensorFlow Table of Contents TensorFlow Basics Understanding static and dynamic shapes Sco ...