Files
JJBB/Assets/Project/Shader/NpcBase.cginc

29 lines
948 B
HLSL
Raw Normal View History

2024-08-23 15:49:34 +08:00
#ifndef NpcBase_INCLUDE
#define NpcBase_INCLUDE
#include "UnityCG.cginc"
#include "Gles2Helper.cginc"
#include "FlowColorBase.cginc"
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
uniform half _Emission;
uniform half4 _Color;
uniform half4 _AddColor;
uniform half _Outline;
uniform half4 _OutlineColor;
// ע<><D7A2><EFBFBD><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><E3B7A8><EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>ͼʱ<CDBC><CAB1><EFBFBD><EFBFBD><EFBFBD>߿ռ<D5BC><E4B7A8>Ϊ<EFBFBD><CEAA>0,0,1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD>ΪviewDir<69><72>z
#define NPC_VERT_COMMON(o) \
o.pos = UnityObjectToClipPos(v.vertex); \
o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); \
half3 objectViewDir = ObjSpaceViewDir(v.vertex); \
TANGENT_SPACE_ROTATION; \
o.rim = saturate(1 - normalize(MUL_3x3_WITH_VECTOR(rotation, objectViewDir)).z); \
o.rim = pow(o.rim, _Outline);
#define NPC_FRAG_COMMON(col) \
col = tex2D(_MainTex, i.texcoord); \
col.rgb *= _Color.rgb; \
col.rgb += col.rgb * _Emission + _AddColor; \
col.rgb += _OutlineColor.rgb * _OutlineColor.a * i.rim
#endif