Shader学习笔记(七)Unity Shader Rim示例
来源:互联网 发布:手机淘宝怎么没有彩票 编辑:程序博客网 时间:2024/04/30 04:27
轮廓高光效果
Unity官方高光示例
Shader "Example/Rim" { Properties { _MainTex ("Texture", 2D) = "white" {} _BumpMap ("Bumpmap", 2D) = "bump" {} _RimColor ("Rim Color", Color) = (0.26,0.19,0.16,0.0) _RimPower ("Rim Power", Range(0.5,8.0)) = 3.0 } SubShader { Tags { "RenderType" = "Opaque" } CGPROGRAM #pragma surface surf Lambert struct Input { float2 uv_MainTex; float2 uv_BumpMap; float3 viewDir; }; sampler2D _MainTex; sampler2D _BumpMap; float4 _RimColor; float _RimPower; void surf (Input IN, inout SurfaceOutput o) { o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb; o.Normal = UnpackNormal (tex2D (_BumpMap, IN.uv_BumpMap)); half rim = 1.0 - saturate(dot (normalize(IN.viewDir), o.Normal)); o.Emission = _RimColor.rgb * pow (rim, _RimPower); } ENDCG } Fallback "Diffuse" }
核心代码是half rim = 1.0 - saturate(dot (normalize(IN.viewDir),o.Normal));
//saturate:returns 0 if x is less than 0; returns 1 if x is greater than 1; returns x otherwise
//saturate for float scalars could be implemented like this
//float saturate(float x){
//return max(0,min(1,x));
//}
//视线方向与法向量夹角为90度时,正好用来模拟侧光的强度
o.Emission=_RimColor.rgb*pow(rim,_RimPower);
//将rim值用一个pow函数进行放大,强化边缘发亮的效果
0 0
- Shader学习笔记(七)Unity Shader Rim示例
- Unity Shader 学习笔记(32) Unity中的Standard Shader
- Unity Shader学习笔记(一) shader的基础结构
- Unity Shader 学习笔记(5)第一个简单Shader
- Unity shader学习笔记 (四) 分解Shader
- Unity Shader学习笔记:简单的shader
- rim shader
- Shader学习笔记(一)认识Unity Shader,Unity Shader的基本结构
- Unity Shader 学习笔记(4)Unity Shader内置变量、函数,Shader Model
- unity shader学习笔记(七)——Unity中的基础纹理之遮罩纹理
- Unity Shader 学习笔记(1) DrawCall
- Unity Shader 学习笔记(6) 漫反射
- Unity Shader 学习笔记(14) 阴影
- Unity Shader入门精要笔记(七):Unity Shader内置文件、变量和语义
- Unity Shader 学习笔记 (七) 根据切线和法线方向设置模型颜色shader
- Shader之学习笔记七
- Unity Shader学习笔记(五)
- Unity shader学习笔记 (二)
- iOS开发中使用NSUserDefaults存储的对象变成null的解决办法
- 面试(三)ajax原理,oop理解
- android 7.0新特性,新功能,GMS4.0新特性
- Xcode 8问题集锦
- 设计模式中主要应用思想之我见
- Shader学习笔记(七)Unity Shader Rim示例
- Ubuntu下PHP5.6+MySQL+Apache+PHPStorm的安装和配置
- Android 仿美团网,探索使用ViewPager+GridView实现左右滑动查看更多分类的功能
- msp430看门狗定时器
- http://bbs.anzhuo.cn/thread-982250-1-1.html
- java中rt.jar包的含义
- windows下kafka启动
- BIEE数据权限过滤失效
- insertSelective与insert,updateByPrimaryKeySelective与updateByPrimaryKey