这是一个关于Unity3D Shader的Rep。目前主要是自己博客专栏《【浅墨Unity3D Shader编程】》中推出的一些Shader代码的收集。
以下是各个Shader的图示。
Volume 1 凹凸纹理显示+自选边缘颜色和强度Shader
### 0.TheFirstShader
Volume 02 Unity基本Shader框架写法
### 1.单色Shader
Volume 03 子着色器、通道与标签的写法 & 纹理混合
### 1. Alpha纹理混合
Volume 04 剔除、深度测试、Alpha测试以及基本雾效
### 1.用剔除操作渲染对象背面
Volume 05 Unity中Shader的三种形态对比&混合操作
### 一:固定功能Shader示例
![](https://camo.githubusercontent.com/f318afec82e6395f480c42f27a9f7d7da4309bace3eb4091e5f00a56f61999fc/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f32303134313232313136303834393735333f77617465726d61726b2f322f746578742f6148523063446f764c324a736232637559334e6b626935755a5851766347396c62563978615746756257383d2f666f6e742f3561364c354c32542f666f6e7473697a652f3430302f66696c6c2f49304a42516b46434d413d3d2f646973736f6c76652f37302f677261766974792f536f75746845617374)
Volume 06 表面着色器(Surface Shader)的写法(一)
### 1.最基本的Surface Shader
![](https://camo.githubusercontent.com/bd9911490762ad13e225b7498ac868c6138072d79e685188e5fe71c25c736577/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f32303134313232383137313933323036323f77617465726d61726b2f322f746578742f6148523063446f764c324a736232637559334e6b626935755a5851766347396c62563978615746756257383d2f666f6e742f3561364c354c32542f666f6e7473697a652f3430302f66696c6c2f49304a42516b46434d413d3d2f646973736f6c76652f37302f677261766974792f536f75746845617374)
Volume 07 表面着色器的写法(二):自定义光照模式
### 0.内置的漫反射光照
![](https://camo.githubusercontent.com/90465b249e218cd919f8c0ff8a5ff4a5d59347ec9fd9b6c7a28dca1dffd26f6b/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f32303135303131313136323531303336313f77617465726d61726b2f322f746578742f6148523063446f764c324a736232637559334e6b626935755a5851766347396c62563978615746756257383d2f666f6e742f3561364c354c32542f666f6e7473697a652f3430302f66696c6c2f49304a42516b46434d413d3d2f646973736f6c76652f37302f677261766974792f536f75746845617374)
第一组:
![](https://camo.githubusercontent.com/af38c29c10cdf84542f9097d720cfca2a169f43fabec92f516109bc00f05b90e/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f3230313530313131313633303334313535)
![](https://camo.githubusercontent.com/b6ea4e67c95b34faf467542bcacfa3977a6f8f9da9f7b023a66d5802f25d9263/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f3230313530313131313633303531343536)
第二组:
![](https://camo.githubusercontent.com/69a6454681be669a602e53c7cf2b7ccdf4e4fff882addf4804a02807c59a9d0e/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f3230313530313131313633323036313439)
![](https://camo.githubusercontent.com/e0da681e4580af261a0629b4b94f9b409288b4469c9f3371986396e282dc18ec/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f3230313530313131313633323234343332)
第三组:
![](https://camo.githubusercontent.com/2f91a531defb31cd8f2a5aff22842c793fe8d8a6bd38078981061211b8d9f96d/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f3230313530313131313633333033393738)
![](https://camo.githubusercontent.com/f1654fdfe92fbfba3f3edaecb64a1202e3d33bcda27740736c2855807419b3fe/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f3230313530313131313633333236343432)
Volume 12 可编程Shader初步 & 漫反射可编程Shader
### 1.单色Shader
![](https://camo.githubusercontent.com/d4ac87a78f4f4baa74a62acfc2eb3a4a00bcd50a465f808b89e4f74d282f67dd/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f32303136303330363130313631313633303f77617465726d61726b2f322f746578742f6148523063446f764c324a736232637559334e6b626935755a5851762f666f6e742f3561364c354c32542f666f6e7473697a652f3430302f66696c6c2f49304a42516b46434d413d3d2f646973736f6c76652f37302f677261766974792f536f75746845617374)
###5.三色分量可调的RGB Cube
下图是此漫反射Shader使用到皮卡丘模型上的效果图。
![](https://camo.githubusercontent.com/6a7f76b741897323b7351e4ea689cad0652b1c8d1c5e7ceb68e07ea3f8cb6a1e/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f3230313630333036313034353230393530)
![](https://camo.githubusercontent.com/0ab6fa9c2e024499d00049b3b5341cf6d366162ed55cafaf74f689a4104c4365/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f32303136303330363130343534323237393f77617465726d61726b2f322f746578742f6148523063446f764c324a736232637559334e6b626935755a5851762f666f6e742f3561364c354c32542f666f6e7473697a652f3430302f66696c6c2f49304a42516b46434d413d3d2f646973736f6c76652f37302f677261766974792f536f75746845617374)
Volume 13 单色透明Shader & 标准镜面高光Shader
### 1.单色透明Shader
![](https://camo.githubusercontent.com/8d5fce074922a978276bb01fe0df3c29b561d87ae12d25f7263cadfb605a920d/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f32303136303331333136333130323334303f77617465726d61726b2f322f746578742f6148523063446f764c324a736232637559334e6b626935755a5851762f666f6e742f3561364c354c32542f666f6e7473697a652f3430302f66696c6c2f49304a42516b46434d413d3d2f646973736f6c76652f37302f677261766974792f536f75746845617374)
从物体外部看:
![](https://camo.githubusercontent.com/9b4b8bb4cf2cd626465c2eee79c348ff5007252bf74594a22ca75e659cf9063f/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f32303136303331333136333631373831313f77617465726d61726b2f322f746578742f6148523063446f764c324a736232637559334e6b626935755a5851762f666f6e742f3561364c354c32542f666f6e7473697a652f3430302f66696c6c2f49304a42516b46434d413d3d2f646973736f6c76652f37302f677261766974792f536f75746845617374)
从物体内部看:
![](https://camo.githubusercontent.com/ef8a6dec0df635c01826a293d15f6b409f7613ead0904c56e5c8999fd1bf6621/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f32303136303331333136333834353435323f77617465726d61726b2f322f746578742f6148523063446f764c324a736232637559334e6b626935755a5851762f666f6e742f3561364c354c32542f666f6e7473697a652f3430302f66696c6c2f49304a42516b46434d413d3d2f646973736f6c76652f37302f677261766974792f536f75746845617374)
将此Shader施于妙蛙草的模型之上,得到的便是如端游《剑灵》一般油腻腻的画风感觉:
![](https://camo.githubusercontent.com/59a7db743301fc1b767e8663cf8757030f825e31143436ea2aad560e2a701559/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f32303136303331333136333930383034393f77617465726d61726b2f322f746578742f6148523063446f764c324a736232637559334e6b626935755a5851762f666f6e742f3561364c354c32542f666f6e7473697a652f3430302f66696c6c2f49304a42516b46434d413d3d2f646973736f6c76652f37302f677261766974792f536f75746845617374)
Volume 14.边缘发光Shader(Rim Shader)的两种实现形态 || Two Way to Write Rim Shader
### 1
![](https://camo.githubusercontent.com/124f8f5f9e9586a8d4e8f0097594e984746eb7ad241ddaf0ef0461d6367024fc/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f32303136303632363230323233333432383f77617465726d61726b2f322f746578742f6148523063446f764c324a736232637559334e6b626935755a5851762f666f6e742f3561364c354c32542f666f6e7473697a652f3430302f66696c6c2f49304a42516b46434d413d3d2f646973736f6c76652f37302f677261766974792f536f75746845617374)
![](https://camo.githubusercontent.com/6e654ea13d3b294437266d0bc6cd5bb3c5db875b2f66c17ae8162668ac8784f4/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f32303136303632363230323234323431333f77617465726d61726b2f322f746578742f6148523063446f764c324a736232637559334e6b626935755a5851762f666f6e742f3561364c354c32542f666f6e7473697a652f3430302f66696c6c2f49304a42516b46434d413d3d2f646973736f6c76652f37302f677261766974792f536f75746845617374)
![](https://camo.githubusercontent.com/bd70899de2681a74accfa1a450ef4f715bb9fff6e3b6d14ae0c9b4e1d162011f/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f32303136303632363230323235373738373f77617465726d61726b2f322f746578742f6148523063446f764c324a736232637559334e6b626935755a5851762f666f6e742f3561364c354c32542f666f6e7473697a652f3430302f66696c6c2f49304a42516b46434d413d3d2f646973736f6c76652f37302f677261766974792f536f75746845617374)
![](https://camo.githubusercontent.com/d88f251e1400cfc919813bf64b24cf21bbd91c8a9df1a434db0e4fc84bf6066a/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f32303136303632363230323235303137393f77617465726d61726b2f322f746578742f6148523063446f764c324a736232637559334e6b626935755a5851762f666f6e742f3561364c354c32542f666f6e7473697a652f3430302f66696c6c2f49304a42516b46434d413d3d2f646973736f6c76652f37302f677261766974792f536f75746845617374)
Volume 15.屏幕高斯模糊(Gaussian Blur)后期特效的实现 || Gaussian Blur Post Effect
### 1
![](https://camo.githubusercontent.com/4120cae2d0ce9bcf7b7be0950e73088040f9cc52a5c98514f4aa296873158fed/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f3230313630373130313534303038383937)
![](https://camo.githubusercontent.com/174331fcd49e64b3cbdcbeb6a6520585fd63f378d93224dc670e22700b190626/687474703a2f2f696d672e626c6f672e6373646e2e6e65742f3230313630373130313534303331323234)