原始效果地址: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的更多相关文章

  1. 【Unity Shader实战】卡通风格的Shader(二)

    写在前面 本系列其他文章: 卡通风格的Shader(一) 好久没写博客了,一定是因为课程作业比较多,一定不是因为我懒,恩恩. 三个月以前,在一篇讲卡通风格的Shader的最后,我们说到在Surface ...

  2. 【Unity Shader实战】卡通风格的Shader(一)

    写在前面 本系列其他文章: 卡通风格的Shader(二) 呜,其实很早就看到了这类Shader,实现方法很多,效果也有些许不一样.从这篇开始,陆续学习一下接触到的卡通类型Shader的编写. 本篇的最 ...

  3. Atitit  图像处理Depixelizing Pixel Art像素风格画的矢量化

    Atitit  图像处理Depixelizing Pixel Art像素风格画的矢量化 在去年的时候,偶然看到hqx算法. 一个高质量的插值放大算法. 与双线性插值等插值算法相比,这个算法放大后对人眼 ...

  4. 【移动适配】一个像素的border怎么实现

    一个像素里复杂纷扰的世界 文 | 啃先生 Mar.3rd.2016  首发于微信公众号(啃先生) 上一篇发了<[移动适配]移动Web怎么做屏幕适配> 壹 | Fisrt 在CSS的世界里P ...

  5. 通过beego快速创建一个Restful风格API项目及API文档自动化

    通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界 ...

  6. 一个Bootstrap风格的分页控件

      http://www.cnblogs.com/wangwei123/p/3682626.html 主题 jQueryBootstrap 一个Bootstrap风格的分页控件,对于喜欢Bootstr ...

  7. 经典算法面试题目-翻转一个C风格的字符串(1.2)

    题目: Write code to reverse a C-Style String. (C-String means that "abcd" is represented as ...

  8. jQuery分页插件jBootstrapPage,一个Bootstrap风格的分页插件

    一个Bootstrap风格的分页控件,对于喜欢Bootstrap简洁美观和扁平化的同学可以关注jBootstrapPage, 目前jBootstrapPage最新版为V0.1,后续还有更多功能需要完善 ...

  9. HTML5 Canvas中实现绘制一个像素宽的细线

    正统的HTML5 Canvas中如下代码 ctx.lineWidth = 1; ctx.beginPath(); ctx.moveTo(10, 100); ctx.lineTo(300,100); c ...

随机推荐

  1. Android开发之使用HttpURLConnection进行POST请求

    一.前提准备 在开始实际编码之前,我们有必要先了解下将会用的类以及方法,进行一个大体的了解. 1.URL类 这个类主要的功能是定位到要获取资源的网址以及打开连接.比如下面的代码: URL realur ...

  2. 开启spring boot actuator 安全认证

    通过本文配置,会对actuator 除了health外的所有端点,开启用户名密码验证,对于自己开发的接口不会要求用户名密码验证. 版本: <parent> <groupId>o ...

  3. Uploadify in ASP.Net

    和分页类似,文件上传是web开发标配的技能之一.下面介绍Uploadify的配置和使用. 一.配置 首先到Uploadify官网下载,然后在项目中添加相应引用.前台代码如下: 1.jquery.js2 ...

  4. Linux-使用 yum 升级 gcc 到 4.8

    wget http://people.centos.org/tru/devtools-2/devtools-2.repo mv devtools-2.repo /etc/yum.repos.d yum ...

  5. Ubuntu常用命令大全[显示桌面]

    Ubuntu常用命令大全 查看软件xxx安装内容 #dpkg -L xxx 查找软件 #apt-cache search 正则表达式 查找文件属于哪个包 #dpkg -S filename apt-f ...

  6. SQL之group by

    转自:理解group by 先来看下表1,表名为test: 表1 执行如下SQL语句: 1 2 SELECT name FROM test GROUP BY name 你应该很容易知道运行的结果,没错 ...

  7. ios实例开发精品文章推荐(8.14)

    1.iOS源码:俄罗斯方块实现简单的俄罗斯方块游戏.<ignore_js_op> 下载地址:http://www.apkbus.com/android-124628-1-1.html 2. ...

  8. 业务、架构、技术,我们应该关注什么 Java和.Net的优势劣势简单看法 市场经济决定,商业之道即是软件之道,市场的需求决定着软件技术的发展 利益决定着选择应用新技术

    业务.架构.技术,我们应该关注什么 一个企业存在的必然和前提就是获取企业生成的利润,怎么样合法合理取得利润呢,企业怎么样生存下去呢,很简单,为客户提供等值的产品与服务,客户支付你相应的报酬. 我们是从 ...

  9. Ant scp upload文件至linux server(用java调用Ant api)

    1.要准备的jar包:ant.jar,ant-jsch.jar code: package com.test.utils; import org.apache.tools.ant.Project; i ...

  10. Redis学习之路(006)- Redis学习手册(Hashes数据类型)

    一.概述: 我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.所以该类型非常适合于存储值对象的信息.如Username.Password和Ag ...