关于shader的学习
教程地址:https://onevcat.com/2013/07/shader-tutorial-1
因为想做一些特效,所以想稍微了解一下shader的代码,一下是一些笔记
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' Shader "Custom/Edge"
{
Properties
{
//name ("客户端显示名字",可调节的值)=默认值
_Edge ("Edge", Range(, 0.2)) = 0.043
_EdgeColor ("EdgeColor", Color) = (, , , )
_MainTex ("MainTex", 2D) = "white" {}
}
SubShader
{
Pass
{
//开始标记,表明这里开始是一段CG程序,与之匹配是下面的ENDCG
CGPROGRAM
//编译指令 声明我们要写个啥样的着色器 着色器的名字
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc" //链接上面的_声明 ,因为这是一段CG程序,和上面是两个独立的块
fixed _Edge;
fixed4 _EdgeColor;
sampler2D _MainTex; struct appdata
{
float4 vertex : POSITION;
fixed2 uv : TEXCOORD0;
}; struct v2f
{
float4 vertex : SV_POSITION;
float4 objVertex : TEXCOORD0;
fixed2 uv : TEXCOORD1;
}; v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.objVertex = v.vertex;
o.uv = v.uv; return o;
} fixed4 frag (v2f i) : SV_Target
{
fixed x = i.uv.x;
fixed y = i.uv.y; if((x < _Edge) || (abs( - x) < _Edge) || (y < _Edge) || (abs( - y) < _Edge))
{
return _EdgeColor * abs(cos(_Time.y));
}
else
{
fixed4 color = tex2D(_MainTex, i.uv);
return color;
} //return i.objVertex;
//return fixed4(i.uv, 0, 1);
}
ENDCG
}
}
}
关于shader的学习的更多相关文章
- Shader Forge学习
最近学习了一下shader forge,一个屌屌哒插件用来生成shader.尽管其降低了制作shader的难度,但是真的想做出满意的shader的话还是得有一定的shader基础.但是仅仅是做出一些简 ...
- Unity Shader 效果学习
Unity上对于图像的处理,假设单纯使用代码.那么非常遗憾,程序基本会跑死,毕竟是直接对像素的操作,读取写入都是比較耗费CPU和内存的. 所以.这次由于项目须要想实现类似哈哈镜的效果.想来想去,还是认 ...
- 关于Shader的学习记录
float4 _EmissiveColor; float4 _AmbientColor; float _MySliderValue; void surf (Input IN, inout Surfac ...
- ampify shader工具学习一
如何使用lambert Amplify Shader Editor 1.5.3 高级shader编辑工具 2018_5 点击下载
- shader language学习(1)——shader language简介背景
shader language,称为着色语言,shade在英语是阴影.颜色深浅的意思.shader language基于物体本身属性和光照条件,计算美格橡塑的颜色值. 实际上这种解释具有明显的时代局限 ...
- 【译】Unity3D Shader 新手教程(6/6) —— 更好的卡通Shader
本文为翻译,附上原文链接. 转载请注明出处--polobymulberry-博客园. 动机 如果你想了解以下几件事,我建议你阅读以下这篇教程: 想知道如何写一个multipass的toon shade ...
- 【浅墨Unity3D Shader编程】之一 夏威夷篇:游戏场景的创建 & 第一个Shader的书写
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40723789 作者:毛星云(浅墨) ...
- 【Unity Shaders】学习笔记——SurfaceShader(十)镜面反射
[Unity Shaders]学习笔记——SurfaceShader(十)镜面反射 如果你想从零开始学习Unity Shader,那么你可以看看本系列的文章入门,你只需要稍微有点编程的概念就可以. 水 ...
- 【淡墨Unity3D Shader计划】一间 创建一个游戏场景 & 第一Shader写作
本系列文章由@浅墨_毛星云 出品.转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40723789 作者:毛星云(浅墨) ...
随机推荐
- 简述在MySQL数据库中MyISAM和InnoDB的区别
区别主要有以下几点: (1)构成上,MyISAM的表在磁盘中有三个文件组成,分别是表定义文件(.frm).数据文件(.MYD).索引文件(.MYI),而InnoDB的表由表定义文件(.frm).表空间 ...
- Vue 项目优化,持续更新...
一.减少打包的体积 通过vue-cli 初始化项目后,使用 npm run build 生成的JS文件往往会很大,加载时间过长导致页面长时间白屏,所以我们尽可能的使用一下方法来减少打包体积. 1.1 ...
- orm 练习题
一: 多表练习查询 1. 自行创建测试数据: 2. 查询学生总人数: 3. 查询“生物”课程和“物理”课程成绩都及格的学生id和姓名: 4. 查询每个年级的班级数,取出班级数最多的前三个年级: 5. ...
- Python爬虫之Cookie和Session
关于cookie和session估计很多程序员面试的时候都会被问到,这两个概念在写web以及爬虫中都会涉及,并且两者可能很多人直接回答也不好说的特别清楚,所以整理这样一篇文章,也帮助自己加深理解 什么 ...
- jquery ajax在跨域访问post请求的时候,包括ie9以下的浏览器无效,其他浏览器正常
最近做的一个项目,原先没有要求兼容IE9以下,所以在写代码的时候也没有打开IE9以下去测试,这两天要去做IE9以下的兼容,在IE9以下打开本地的项目发现数据请求不成功,而通过发布道服务器上的链接打开是 ...
- 数据?算法-> which is important?
谷歌的强不是强在 PageRank 算法,而在于它是第一个在排名时把链接——而不只是文字和标题——考虑进去的.又以自己教的数据挖掘课为例.他让学生以 Netflix 用户对一万八千多部电影的打分为基础 ...
- PHP基础记录
1. require和require_once的区别 require_once()包涵是绝对路径 include() 和require() :语句包括并运行指定文件. include() 产生一个警告 ...
- (转)Linux ldconfig 与 ldd指令
原文:https://blog.csdn.net/iamzhangzhuping/article/details/49203981 一.ldconfig ldconfig是一个动态链接库管理命令,为了 ...
- (转)DB2 HADR 监控详解
原文:https://www.ibm.com/developerworks/cn/data/library/techarticles/dm-1010baosf/ HADR 简介 HADR( 高可用性灾 ...
- list转换为树结构--递归
public static JSONArray treeMenuList(List<Map<String, Object>> menuList, Object parentId ...