人生哲学:
今天下定决心开始学shader,因为最近VRAR哲学开始活了起来。最让我下定决心的是公司现状以及我的格格不入。
记得以前做网站那时候月薪2.4K,那时候我发誓要找个月薪5K的工作,如今如期达到了但还是不开心,人的欲望真的是无止境的。
很多生活哲学都说过,一般想跳槽的一个是不开心,另一个最为实际的的就是钱少。好了,不多说了言归正传,开始Shader单排第一篇。
正片环节:
说到Shader 一切源于我的一个同事 (史密斯 曹),他是一个模型师会做动画,然后接触点编程的他就买一本(为我二买,最后事实证明他还是为自己买的)
《UNITY 3D ShaderLab开发实战详解》。
shader 一共有三种 1.固定管线Fixed 2.顶点和片段vertex fragment 3.表面着色surface (详细资料自己查书,不做过多解释,最好知道一下)
shader的基本结构是这样的:
Shader "Custom/BasicDiffuse" {
Properties {
_MainTex ("Base (RGB)", 2D) = "white" {}
}
SubShader {
Tags { "RenderType"="Opaque" }
LOD 200
CGPROGRAM
#pragma surface surf Lambert
sampler2D _MainTex;
struct Input {
float2 uv_MainTex;
};
void surf (Input IN, inout SurfaceOutput o) {
half4 c = tex2D (_MainTex, IN.uv_MainTex);
o.Albedo = c.rgb;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Diffuse"
}
//1.名字 格式是 Shader "Name"{<span style="white-space:pre"> </span>}
//2.属性 Properties{<span style="white-space:pre"> </span>里面的基本语法是这样 :<span style="color:#3333ff;">_usename</span>(<span style="color:#ff0000;">"属性面板显示名称"</span><span style="color:#6600cc;">,</span><span style="color:#cc0000;">对应的属性(2D,Color,Rect,Cube,Rang(min,max),Float,vector</span>))=Color(rgba),<span style="color: rgb(102, 102, 102); font-family: ff-tisa-web-pro-1, ff-tisa-web-pro-2, 'Lucida Grande', 'Hiragino sans GB', 'Hiragino sans GB W3', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; line-height: 25.6000003814697px; background-color: rgb(255, 255, 255);"><span style="font-size:10px;">2D/Rect/Cube("white"),Float/Rang(浮点数),Vector(四维数类似空间向量或者四元数,xyzw)</span></span><span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">}</span>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name="code" class="plain">//<span style="font-family: Arial, Helvetica, sans-serif;">3.这个可以有多个,为了适应硬件比如说老版本的固定管线 : SubShader{} </span>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name="code" class="plain">//4.Tag:
//5.Pass:
<pre name="code" class="plain">//6.Fallback:回调默认方法,当SubShader都不符合条件。
//
<pre name="code" class="plain">//
致谢:
1.OneV'sDen 一位去日本LINE工作的前辈。
https://onevcat.com/page/2/#blog点击打开链接
2、3G-肖阳。他是转载的一个社区的中文翻译。
http://blog.csdn.net/xy849288321/article/category/1348299点击打开链接
3、candycat。乐乐竟然是一位程序妹子,而且在渲染方面有自己的心得体会,马上要出自己关于shader的书了,恭喜。
http://blog.csdn.net/candycat1992/article/details/46560879点击打开链接
4、风宇冲。
http://blog.sina.com.cn/s/blog_471132920101dfth.html点击打开链接