临摹一个像素风格高楼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 ...
随机推荐
- Oracle列自增实现(2)-Identity Columns in Oracle Database 12c Release 1 (12.1)
Oracle列自增-Identity Columns in Oracle Database 12c Release 1 (12.1) 在ORACLE 12C以前的版本中,如果要实现列自增长,需要通过序 ...
- 如何查看2to3.PY的帮助文档
# -*- coding: utf-8 -*- #python 27 #xiaodeng #如何查看2to3.PY的帮助文档 #http://tieba.baidu.com/p/3939904893 ...
- X240 Ubuntu18.04安装流水帐
U盘安装 使用Startup Disk Creator和下载好的iso文件创建启动U盘 (在win7下官网建议的刻录软件是Rufus, https://rufus.akeo.ie/) Nautilus ...
- ios 中sqlite的用法
#import <sqlite3.h> @interface ViewController () { sqlite3 *_sqldb; } @end @implementation Vie ...
- How to use, monitor, and disable transparent hugepages in Red Hat Enterprise Linux 6
Resolution Note: Transparent Huge Pages are not available on the 32-bit version of RHEL 6. Transpare ...
- idea及webstorm破解方法(转)
首先要做的就是去下载 破解的jar包,本来要上传的但是检测资源已经存在,但是能下到的地方很多,这里贴出一个链接 点击:链接链接. 点击下载上图当中的jar包 . 然后找到自己安装webstorm的安装 ...
- nullpointerxception——处理思路
概念: 1.所谓的指针,就是java中的对象的引用.比如String s;这个s就是指针.2.所谓的空指针,就是指针的内容为空.比如上面的s,如果令它指向null,就是空指针.3.所谓的空指针异常,就 ...
- 【DeepLearning】Exercise:Self-Taught Learning
Exercise:Self-Taught Learning 习题链接:Exercise:Self-Taught Learning feedForwardAutoencoder.m function [ ...
- 进阶之路(基础篇) - 022 Arduino Leonardo 中文介绍(摘抄)
本文摘抄:http://www.arduino.cn/thread-1205-1-1.html 概述Arduino Leonardo是基于ATmega32u4一个微控制器板.它有20个数字输入/输出引 ...
- 进阶之路(中级篇) - 017 有关于Arduino 驱动舵机及相关问题
/********************************* 代码功能:通过串口控制电机 使用函数: Serial.available(); //判断串口是否接收到数据 Serial.prin ...