顶点颜色交融效果
来源:互联网 发布:java数组删除指定元素 编辑:程序博客网 时间:2024/05/24 01:41
Shader "Unlit/factoryhot"
{Properties
{
_MainTex ("Texture", 2D) = "white" {}
// _PointTex ("Texture", 2D) = "white" {}
_FromColor ("FromColor", Color) = (0, 1, 0, 1)
_ToColor ("ToColor", Color) = (1, 0, 0, 1)
_Distance ("Distance", Float) = 1.0//颜色距离
_Sensitive ("Sensitive", Float) = 1.0//距离调整
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 100
Pass
{
CGPROGRAM
// Upgrade NOTE: excluded shader from DX11, Xbox360, OpenGL ES 2.0 because it uses unsized arrays
#pragma vertex vert
#pragma fragment frag
// make fog work
#pragma multi_compile_fog
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float3 worldpos : TEXCOORD1;
// UNITY_FOG_COORDS(2)
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float4 _MainTex_ST;
fixed4 _FromColor;
fixed4 _ToColor;
fixed3 Value1;//顶点1
fixed3 Value2;//顶点2
fixed3 Value3;//顶点3
float _Distance;
float _Sensitive;
//sampler2D _PointTex;
v2f vert (appdata v)
{
v2f o;
o.worldpos= mul(_Object2World, v.vertex);
o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
//UNITY_TRANSFER_FOG(o,o.vertex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
// sample the texture
fixed4 col = tex2D(_MainTex, i.uv);
//col*=_FromColor;
float s1=distance(i.worldpos,Value1);//abs(dot((i.worldpos-Value1),(i.worldpos-Value1)));//dis的平方
float s2=distance(i.worldpos,Value2);//,(i.worldpos-Value2)));
float s3=distance(i.worldpos,Value3);//abs(dot((i.worldpos-Value3),(i.worldpos-Value3)));
// fixed4 c1=saturate(lerp(_ToColor,_FromColor,_Sensitive*s1));
// fixed4 c2=saturate(lerp(_ToColor,_FromColor,_Sensitive*s2));
fixed4 c=float4(0,1,0,0);
float t=0;
t+=pow(saturate(1-_Sensitive*s1/_Distance),2);//saturate(lerp(c1,c2,_Sensitive*s1));;
t+=pow(saturate(1-_Sensitive*s2/_Distance),2);//saturate(lerp(c2,c1,_Sensitive*s2));//c2;
t+=pow(saturate(1-_Sensitive*s3/_Distance),2);//pow是进行对强度进行曲线化 防止颜色线性曲折
return lerp(_FromColor*col,_ToColor*col,saturate(t));
}
ENDCG
}
}
}
阅读全文
0 0
- 顶点颜色交融效果
- WebGL增加顶点颜色
- 通过顶点颜色,制作高级贴图混合效果····
- Unity Shader Example 25 (在ShaderLab Surface 添加顶点颜色与透明效果)
- D3D中光照,顶点法线,顶点结构,顶点颜色
- 定义顶点和顶点颜色时都用到0x10000
- OpenGL 学习笔记-顶点数组(颜色)
- 顶点颜色在光照计算中的作用
- CCMotionStreak(ccnode子类 可实现拖尾效果 需要设置--- 消隐动画时长,拖尾条带相邻顶点间的最小距离,拖尾条带的宽度,顶点颜色,纹理)
- DirectX 3D_基础之顶点缓存 索引缓存 访问缓存 颜色表示 顶点颜色 着色
- 同时使用ColorKey以及顶点Alpha效果
- Shader 简单的波浪顶点动画效果
- 网页背景颜色渐变效果
- JavaScript 颜色渐变效果
- JavaScript 颜色渐变效果
- 颜色渐变效果
- JavaScript 颜色渐变效果
- 表格颜色切换效果
- smaba
- Git建立github远程仓库
- 汇编语言: 串处理指令
- linux下C语言多线程编程实例——经典实例写的不好
- express和koa中的超时处理
- 顶点颜色交融效果
- 阿里云相关配置
- Android Studio 图片选择器
- jdbc
- Intellij IDEA快捷键 整理
- idea 将项目上传到 github
- 一个自己写的网页计算器
- BZOJ 3438 浅谈DINIC及一点点优化卡时技巧
- 【APIO2014】Palindromes