Shader Example
2024-09-23 05:18:00
//测试viewDir对顶点的影响
Shader "Example/TestViewDir" {
Properties{
_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;
float _Test;
void surf(Input IN, inout SurfaceOutput o) {
half rim = 1 - saturate(dot(o.Normal,normalize(IN.viewDir)));
float3 col = _RimColor.rgb * pow(rim, _RimPower);
float4 c = float4(col, rim);
o.Emission = c;
}
ENDCG
}
Fallback "Diffuse"
}
结果:最终输出颜色*ColorMask后再与屏幕上颜色进行混合叠加
Shader "Example/ColorMask" {
Properties{
_Color("Texture to blend", Color) = (1,1,1,1)
}
SubShader{
Tags{ "Queue" = "Transparent" }
ColorMask B
Pass{
Blend SrcColor one
CGPROGRAM
#include "UnityCG.cginc"
#pragma vertex vert
#pragma fragment frag float4 _Color;
float4 vert(appdata_base v) : POSITION
{
return mul(UNITY_MATRIX_MVP, v.vertex);
} float4 frag(float4 pos:POSITION) : COLOR
{
return _Color;
}
ENDCG
}
}
Fallback Off
}
最新文章
- 关于SQL的相关笔记【长期更新,只发一帖】
- logistic公式形式的由来,从广义线性回归说起
- LeetCode124:Binary Tree Maximum Path Sum
- Centos7-mqtt消息中间件mosquitto的安装和配置
- 利用jquery来进行表单的多向提交
- table_tricks_基于bootstrap
- matlab 已知函数值纵坐标值(Y值)获得对应的横坐标
- hdu 5591 ZYB's Game 博弈论
- 七古&;#183;夏泳小梅沙
- 使用布局(Layout资源)
- 基于Json序列化和反序列化通用的封装
- YUI3组件框架之plugin
- new-xml-data
- C++的STL之map自动排序特性
- IIS 无法显示网页问题
- bzoj1503[NOI2004]郁闷的出纳员——Splay
- springboot项目执行controller方法时进入慢的问题
- Appium如何获取appPackage和appActivity
- Maven中mirrors和repository的关系
- 我的Android进阶之旅------>RGB颜色查询对照表
热门文章
- rabbitMq使用学习笔记
- Python之freshman04
- N1 Armbian 安装 OpenMediaVault
- 【转】idea中applicationContext-trans.xml中的Cannot resolve bean 'dataSource'...的问题解决
- struts2学习笔记(七)—— struts2的文件上传
- 116th LeetCode Weekly Contest N-Repeated Element in Size 2N Array
- 109th LeetCode Weekly Contest Number of Recent Calls
- Jsch初步
- linux下安装使用虚拟环境
- mysql允许数据库远程连接