Untiy ShaderLab 随手记录
最基本形式 (先不考虑Fog)
Shader "Nafio/TUnlit"{
	Properties
	{
		_MainTex("TT",2D) = "white" {}
	}
	SubShader
	{
		Tags{"RenderType" = "Opaque"}
		LOD 150
		Pass{
			CGPROGRAM
			#pragma vertex vert
			#pragma fragment frag
			#include "UnityCG.cginc"
			sampler2D _MainTex;
			float4 _MainTex_ST;
			struct appdata{
				float4 vertex:POSITION;//注意这里名称vertex是固定的不能乱改,float4,不是float3
				float2 uv:TEXCOORD0;
			};
			struct v2f{
				float4 vertex:SV_POSITION;
				float2 uv:TEXCOORD0;
			};
			v2f vert(appdata v)
			{
				v2f o;
				o.vertex = UnityObjectToClipPos(v.vertex);//低版本替换成mul(UNITY_MATRIX_MVP,v.vertex);
				o.uv = TRANSFORM_TEX(v.uv,_MainTex);
				return o;
			}
			fixed4 frag(v2f i):SV_Target
			{
				fixed4 c = tex2D(_MainTex,i.uv);
				return c;
			}
			ENDCG
		}
	}
}
_MainTex_ST 的说明,这个变量是后面TRANSFORM_TEX需要用到
TRANSFORM_TEX用于计算Texture uv偏移量(就是编辑器中设置的偏移量)
实现方式
#define TRANSFORM_TEX(tex,name) (tex.xy * name##_ST.xy + name##_ST.zw)
材质中
这里Tiling控制缩放
而Offset控制起始位置
从公式看name##_ST.xy对应Tiling,name##_ST.zw对应Offset
Untiy ShaderLab 随手记录的更多相关文章
- 随手记录-linux-Shellinabox插件
		
Shellinabox 是一个利用 Ajax 技术构建的基于 Web 的远程Terminal 模拟器,也就是说安装了该软件之后,不需要开启 ssh服务,通过 Web 网页就可以对远程主机进行维护操作了 ...
 - python之模块_随手记录的模块
		
目录 1.StringIO模块 2.string模块 3.pprint模块 4.struct模块 5.uuid模块 6.itertools 7.prettytable 1.StringIO (1)使用 ...
 - 随手记录---transform 属性
		
其实平时很少用到transform属性,一些放大缩小用width.height可以改变,一些位置变换,更是有margin,而一些旋转.2D.3D变换也不怎么能用得到.不过最近接触了一些图片的缩放,觉得 ...
 - 随手记录---jq如何判断当前元素是第几个元素
		
主要自己总是不记得 结构如下,涉及jq中获取当前元素是父元素的的第几个元素,jq中获取某类在同类元素中占第几,each方法 <div class="parent"> & ...
 - 随手记录一个 firefox的backgroundPostion-x和-y的问题
		
今天帮大师写了一天项目,后来在测试一个显示升序和降序的标签上面,我使用了一个backgroundPosition-y来判断当前icon的状态,却无法不管是使用闭包还是个钟手段,在 firefox下面总 ...
 - 今天工作遇到要发短信(ios)的功能,于是随手记录了一下
		
ios中发送短信有两种 1.程序外调用系统短信 2.程序内调用系统发短信 第一种比较简单,直接调用url就可以了 oc下的代码为 [[UIApplication sharedApplication] ...
 - 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛----随手记录帖
		
这是跟学长学姐组队来打的最爽的一次比赛了,也可能是互相组队最后一次比赛了,南哥和楼学姐,省赛之后就退役了,祝他们能考研和面试都有happy ending! 虽然最后没有把F题的n^2约数的数学题写完, ...
 - 关于GO语言遇到illegal UTF-8 encoding 随手记录
		
在使用汉字的时候会报错 解决方案 editpad++ 修改编码为UTF-8 保存就可以了~bingo
 - 随手记录一下 Vue 下来框搜索 select2 封装成vue
		
引入布局文件 <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css& ...
 
随机推荐
- oracle 11g ocr 冗余配置
			
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/royjj/article/details/30506343  oracle 11g ocr 冗余 ...
 - ubuntu部分常用操作指令记录
			
# 以ROOT权限打开图形文件管理界面: sudo nautilus # 给某个文件添加可执行权限,例如: sudo chmod +x /usr/lib/jdk/bin/java # 修改某个文件或文 ...
 - 加州小学grade1,学习计划
			
Visual vocabulary Grammar Spelling Maths Chapter 1 Patterns and Number SenseChapter 2Understanding A ...
 - 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)
			
第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...
 - Python 使用正则表达式验证密码必须包含大小写字母和数字
			
校验密码是否合法的程序. 输入一个密码 1.长度5-10位 2.密码里面必须包含,大写字母.小写字母和数字 3.最多输入5次 ===================================== ...
 - Python IOError: [Errno 13] Permission denied:
			
一般是代码写错了,比如我遇到的问题就是由于 os.listdir() 传参传错导致的. 本应该传入字符串路径名,但传入了一个文件对象(object)
 - VC6.0实用小技巧
			
VC6.0的若干实用小技巧 .检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}.方括号[].圆括号()和尖括号<>)前面,键入快捷键 “Ctrl+]”.如果括号匹配正确, ...
 - js图片上传及显示
			
html部分: <form action='' method='post' name='myform'> <input type='file' id='iptfileupload' ...
 - Git Shell Warning
			
Warning: Permanently added 'github.com,192.30.252.120' <RSA> to the list of known hosts. The a ...
 - BZOJ1251 序列终结者(Splay平衡树)(占位)
			
网上有许多题,就是给定一个序列,要你支持几种操作:A.B.C.D.一看另一道题,又是一个序列 要支持几种操作:D.C.B.A.尤其是我们这里的某人,出模拟试题,居然还出了一道这样的,真是没技术含量…… ...