Shader学习笔记(七)Unity Shader Rim示例
轮廓高光效果
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 Lambertstruct 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函数进行放大,强化边缘发亮的效果
Shader学习笔记(七)Unity Shader Rim示例相关推荐
- Unity3D学习笔记3——Unity Shader的初步使用
文章目录 1. 概述 2. 详论 2.1. 创建材质 2.2. 着色器 2.2.1. 名称 2.2.2. 属性 2.2.3. SubShader 2.2.3.1. 标签(Tags) 2.2.3.2. ...
- Unity Shader 学习笔记(33) 全局光照(GI)、反射探针、线性空间和伽马空间、高动态范围(HDR)
Unity Shader 学习笔记(33) 全局光照(GI).反射探针.线性空间和伽马空间.高动态范围(HDR) 参考书籍:<Unity Shader 入门精要> [<Real-Ti ...
- Unity Shader 学习笔记(3)URP渲染管线带阴影PBR-Shader模板(ASE优化版本)
此 Shader 已经不是最新版本,最新版本见本专栏的第四篇文章: Unity Shader 学习笔记(4) 材质面板截图: 功能实现(URP渲染管线下): PBR材质.投射和接收阴影. 代码展示: ...
- Unity Shader 学习笔记(27)渲染轮廓线(描边)方法、卡通风格渲染、素描风格渲染
Unity Shader 学习笔记(27)渲染轮廓线(描边)方法.卡通风格渲染.素描风格渲染 参考书籍:<Unity Shader 入门精要> 渲染轮廓线(描边) 五种方法: 基于观察角度 ...
- 【HLSL学习笔记】WPF Shader Effect Library算法解读之[DirectionalBlur]
原文:[HLSL学习笔记]WPF Shader Effect Library算法解读之[DirectionalBlur] 方位模糊是一个按照指定角度循环位移并叠加纹理,最后平均颜色值并输出的一种特效. ...
- 【Unity学习笔记】[Unity中文课堂教程] C#中级编程代码
[Unity学习笔记][Unity中文课堂教程] C#中级编程代码 最近想补一补C#基础,Unity官方的C#中级编程教程质量很高,于是开个帖子把跟着敲+记录了部分价讲解和我自己的理解的代码存在这 原 ...
- window的dos命令学习笔记 七
文章目录 一.dos历史学习笔记(后期整合到这里,我想能学到这里的应该不多了,嘿嘿,加油) 二.执行状态返回值(`%errorlevel%`,和shell中`$?`相似): 三.视窗 1.color ...
- 2022Java学习笔记七十三(异常处理:运行时异常、编译时异常、异常的默认处理的流程)
2022Java学习笔记七十三(异常处理:运行时异常.编译时异常.异常的默认处理的流程) 一.异常体系 1.Exception:java.lang包下,称为异常类,它表示程序本身可以处理的问题 2.R ...
- Typescript 学习笔记七:泛型
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- 吴恩达《机器学习》学习笔记七——逻辑回归(二分类)代码
吴恩达<机器学习>学习笔记七--逻辑回归(二分类)代码 一.无正则项的逻辑回归 1.问题描述 2.导入模块 3.准备数据 4.假设函数 5.代价函数 6.梯度下降 7.拟合参数 8.用训练 ...
最新文章
- 什么是SAAS 即软件即服务模式
- 史上最全Android开发中100%会用到的开源框架整理(1/5)
- Xbox“天蝎计划”中国区负责人:“今年的E3展会将超乎你想像”
- No symbols have been loaded for this document
- 大数据技术 思维导图
- 9月安卓机性能榜单公布:华为未进前十,第一名有点意外
- 聚焦强化学习,AAAI 2019杰出论文公布:CMU、斯坦福等上榜
- 放大图片不失真,不变模糊的方法
- 港股上市公司公告 API 数据接口
- 虚拟机搭建Harbor安装和简单使用
- POJ 3580	SuperMemo
- 《伯克毕生发展心理学3》
- 将一颗树反转为其镜像
- Tipask目录结构
- P5.js 实现交互式动态绘画
- 五星好评html编写,五星好评.html
- 西邮 Linux 兴趣小组 2021 纳新试题
- 10min快速回顾C++语法(五)字符串专题
- 相机照片误删了,该怎么恢复?
- 计算机原理第四章存储器题目,计算机组成原理第四章部分课后题答案(唐朔飞版)...