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.
 
 
 
 

133 lines
3.7 KiB

#define HDRP_NEEDS_UVS (HDRP_USE_BASE_COLOR_MAP || HDRP_USE_MASK_MAP || USE_NORMAL_MAP || HDRP_USE_EMISSIVE_MAP)
#define HDRP_USE_EMISSIVE (HDRP_USE_EMISSIVE_MAP || HDRP_USE_EMISSIVE_COLOR || HDRP_USE_ADDITIONAL_EMISSIVE_COLOR)
${VFXIncludeRP("VFXVertexProbeSampling.template"), VFX_MATERIAL_TYPE_SIX_WAY_SMOKE}
${VFXInclude("Shaders/SixWay/SixWayVaryings.template"), VFX_MATERIAL_TYPE_SIX_WAY_SMOKE}
${VFXBegin:VFXHDRPLitVaryingsMacros}
#if (VFX_NEEDS_COLOR_INTERPOLATOR && HDRP_USE_BASE_COLOR) || HDRP_USE_ADDITIONAL_BASE_COLOR
#define VFX_VARYING_COLOR color.rgb
#define VFX_VARYING_ALPHA color.a
#endif
#ifndef VFX_MATERIAL_TYPE_SIX_WAY_SMOKE
#define VFX_VARYING_SMOOTHNESS materialProperties.x
#endif
#if HDRP_MATERIAL_TYPE_STANDARD
#define VFX_VARYING_METALLIC materialProperties.y
#elif HDRP_MATERIAL_TYPE_SPECULAR
#define VFX_VARYING_SPECULAR specularColor
#elif HDRP_MATERIAL_TYPE_TRANSLUCENT
#define VFX_VARYING_THICKNESS materialProperties.y
#endif
#if USE_NORMAL_MAP
#define VFX_VARYING_NORMALSCALE materialProperties.z
#endif
#if HDRP_USE_EMISSIVE_MAP && !defined(VFX_MATERIAL_TYPE_SIX_WAY_SMOKE)
#define VFX_VARYING_EMISSIVESCALE materialProperties.w
#endif
#if HDRP_USE_EMISSIVE_COLOR || HDRP_USE_ADDITIONAL_EMISSIVE_COLOR
#define VFX_VARYING_EMISSIVE emissiveColor.rgb
#endif
#if USE_EXPOSURE_WEIGHT
#if HDRP_USE_EMISSIVE
#define VFX_VARYING_EXPOSUREWEIGHT emissiveColor.a
#elif VFX_MATERIAL_TYPE_SIX_WAY_SMOKE && VFX_SIX_WAY_USE_ONE_EMISSIVE_CHANNEL
#define VFX_VARYING_EXPOSUREWEIGHT exposureWeight
#endif
#endif
#if VFX_MATERIAL_TYPE_SIX_WAY_SMOKE
${SixWayVaryingsMacros}
#endif
${VFXEnd}
${VFXBegin:VFXHDRPLitDeclareVaryings}
#if (VFX_NEEDS_COLOR_INTERPOLATOR && HDRP_USE_BASE_COLOR) || HDRP_USE_ADDITIONAL_BASE_COLOR
VFX_OPTIONAL_INTERPOLATION float4 color : COLOR0;
#endif
#if HDRP_MATERIAL_TYPE_SPECULAR
VFX_OPTIONAL_INTERPOLATION float3 specularColor : COLOR1;
#endif
#if HDRP_USE_EMISSIVE
VFX_OPTIONAL_INTERPOLATION float4 emissiveColor : COLOR2;
#elif VFX_MATERIAL_TYPE_SIX_WAY_SMOKE && VFX_SIX_WAY_USE_ONE_EMISSIVE_CHANNEL && USE_EXPOSURE_WEIGHT
VFX_OPTIONAL_INTERPOLATION float exposureWeight : COLOR2;
#endif
#ifndef VFX_MATERIAL_TYPE_SIX_WAY_SMOKE
// x: smoothness
// y: metallic/thickness
// z: normal scale
// w: emissive scale
VFX_OPTIONAL_INTERPOLATION float4 materialProperties : TEXCOORD0;
#endif
#if VFX_MATERIAL_TYPE_SIX_WAY_SMOKE
${SixWayDeclareVaryings}
#endif
VFX_VERTEX_OUTPUT_INSTANCE_INDEX
${VFXEnd}
${VFXBegin:VFXHDRPLitFillVaryings}
#ifndef VFX_SHADERGRAPH
#ifdef VFX_VARYING_SMOOTHNESS
${VFXLoadParameter:{smoothness}}
o.VFX_VARYING_SMOOTHNESS = smoothness;
#endif
#if HDRP_MATERIAL_TYPE_STANDARD
#ifdef VFX_VARYING_METALLIC
${VFXLoadParameter:{metallic}}
o.VFX_VARYING_METALLIC = metallic;
#endif
#elif HDRP_MATERIAL_TYPE_SPECULAR
#ifdef VFX_VARYING_SPECULAR
${VFXLoadParameter:{specularColor}}
o.VFX_VARYING_SPECULAR = specularColor.rgb;
#endif
#elif HDRP_MATERIAL_TYPE_TRANSLUCENT
#ifdef VFX_VARYING_THICKNESS
${VFXLoadParameter:{thickness}}
o.VFX_VARYING_THICKNESS = thickness;
#endif
#endif
#if USE_NORMAL_MAP
#ifdef VFX_VARYING_NORMALSCALE
${VFXLoadParameter:{normalScale}}
o.VFX_VARYING_NORMALSCALE = normalScale;
#endif
#endif
#if HDRP_USE_EMISSIVE_MAP
#ifdef VFX_VARYING_EMISSIVESCALE
${VFXLoadParameter:{emissiveScale}}
o.VFX_VARYING_EMISSIVESCALE = emissiveScale;
#endif
#endif
#ifdef VFX_VARYING_EMISSIVE
#if HDRP_USE_EMISSIVE_COLOR
o.VFX_VARYING_EMISSIVE = attributes.color;
#elif HDRP_USE_ADDITIONAL_EMISSIVE_COLOR
${VFXLoadParameter:{emissiveColor}}
o.VFX_VARYING_EMISSIVE = emissiveColor.rgb;
#endif
#endif
#if HDRP_USE_ADDITIONAL_BASE_COLOR
#ifdef VFX_VARYING_COLOR
${VFXLoadParameter:{baseColor}}
o.VFX_VARYING_COLOR = baseColor;
#endif
#endif
${SixWayFillVaryings}
#endif
${VFXEnd}