You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
2.7 KiB
105 lines
2.7 KiB
#pragma target 4.5
|
|
#define UNITY_MATERIAL_LIT
|
|
|
|
#define NEEDS_NORMAL defined(WRITE_NORMAL_BUFFER) || defined(WRITE_DECAL_BUFFER) || FORCE_NORMAL_VARYING || SHADERGRAPH_NEEDS_NORMAL_DEPTHONLY
|
|
#define NEEDS_TANGENT USE_NORMAL_MAP || USE_NORMAL_BENDING || SHADERGRAPH_NEEDS_TANGENT_DEPTHONLY
|
|
#define NEEDS_WORLDPOS VFX_NEEDS_POSWS_INTERPOLATOR
|
|
|
|
struct ps_input
|
|
{
|
|
float4 pos : SV_POSITION;
|
|
#if USE_FLIPBOOK_INTERPOLATION
|
|
float4 uv : TEXCOORD0;
|
|
#else
|
|
#if USE_FLIPBOOK_ARRAY_LAYOUT
|
|
float3 uv : TEXCOORD0;
|
|
#else
|
|
float2 uv : TEXCOORD0;
|
|
#endif
|
|
#endif
|
|
#if USE_ALPHA_TEST || USE_FLIPBOOK_INTERPOLATION || VFX_USE_ALPHA_CURRENT
|
|
// x: alpha threshold
|
|
// y: frame blending factor
|
|
// z: alpha
|
|
// w: smoothness
|
|
VFX_OPTIONAL_INTERPOLATION float4 builtInInterpolants : TEXCOORD1;
|
|
#endif
|
|
|
|
#if USE_FLIPBOOK_MOTIONVECTORS
|
|
// x: motion vector scale u
|
|
// y: motion vector scale v
|
|
VFX_OPTIONAL_INTERPOLATION float2 builtInInterpolants2 : TEXCOORD2;
|
|
#endif
|
|
|
|
#if NEEDS_NORMAL
|
|
float4 normal : TEXCOORD3; // normal scale is stored in w
|
|
#endif
|
|
#if NEEDS_TANGENT
|
|
float3 tangent : TEXCOORD4;
|
|
#endif
|
|
#if USE_NORMAL_BENDING
|
|
float2 bentFactors : TEXCOORD5;
|
|
#endif
|
|
#if NEEDS_WORLDPOS
|
|
float3 posWS : TEXCOORD6;
|
|
#endif
|
|
|
|
#if VFX_PASSDEPTH == VFX_PASSDEPTH_MOTION_VECTOR
|
|
VFX_DECLARE_MOTION_VECTORS_STORAGE(7,8)
|
|
#endif
|
|
|
|
#if VFX_SIX_WAY_USE_ALPHA_REMAP
|
|
nointerpolation float4 alphaRemap : TEXCOORD9;
|
|
#endif
|
|
|
|
${VFXAdditionalInterpolantsDeclaration}
|
|
|
|
UNITY_VERTEX_OUTPUT_STEREO
|
|
|
|
VFX_VERTEX_OUTPUT_INSTANCE_INDEX
|
|
|
|
};
|
|
|
|
#define VFX_VARYING_PS_INPUTS ps_input
|
|
#define VFX_VARYING_POSCS pos
|
|
#define VFX_VARYING_ALPHA builtInInterpolants.z
|
|
#define VFX_VARYING_ALPHATHRESHOLD builtInInterpolants.x
|
|
#define VFX_VARYING_FRAMEBLEND builtInInterpolants.y
|
|
#define VFX_VARYING_MOTIONVECTORSCALE builtInInterpolants2.xy
|
|
#define VFX_VARYING_UV uv
|
|
|
|
#if NEEDS_NORMAL
|
|
#define VFX_VARYING_NORMAL normal.xyz
|
|
#endif
|
|
#ifdef WRITE_NORMAL_BUFFER
|
|
#define VFX_VARYING_SMOOTHNESS builtInInterpolants.w
|
|
#endif
|
|
#if NEEDS_TANGENT
|
|
#define VFX_VARYING_TANGENT tangent
|
|
#endif
|
|
#if NEEDS_WORLDPOS
|
|
#define VFX_VARYING_POSWS posWS
|
|
#endif
|
|
#if USE_NORMAL_MAP
|
|
#define VFX_VARYING_NORMALSCALE normal.w
|
|
#endif
|
|
#if USE_NORMAL_BENDING
|
|
#define VFX_VARYING_BENTFACTORS bentFactors
|
|
#endif
|
|
|
|
#if VFX_PASSDEPTH == VFX_PASSDEPTH_MOTION_VECTOR
|
|
#define VFX_VARYING_VELOCITY_CPOS VFX_DECLARE_MOTION_VECTORS_VARYING_NONJITTER
|
|
#define VFX_VARYING_VELOCITY_CPOS_PREVIOUS VFX_DECLARE_MOTION_VECTORS_VARYING_PREVIOUS
|
|
#endif
|
|
|
|
#if VFX_SIX_WAY_USE_ALPHA_REMAP
|
|
#define VFX_VARYING_ALPHA_REMAP alphaRemap
|
|
#endif
|
|
|
|
|
|
${VFXBegin:VFXVertexAdditionalProcess}
|
|
${VFXHDRPLitFillVaryings}
|
|
${VFXEnd}
|
|
|
|
${VFXInclude("Shaders/ParticlePlanarPrimitives/Pass.template")}
|
|
${VFXPassDepthCommonFragmentLit}
|