// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt) Shader "Hidden/TerrainEngine/Splatmap/WCStandard-AddPass" { Properties { _ColorMap("ColorMap (RGB)", 2D) = "white" _OffsetSize("Offset / Size", Vector) = (0,0,0,0) } SubShader { Tags { "Queue" = "Geometry-99" "IgnoreProjector"="True" "RenderType" = "Opaque" } CGPROGRAM #pragma surface surf Standard decal:add vertex:SplatmapVert finalcolor:SplatmapFinalColor finalgbuffer:SplatmapFinalGBuffer fullforwardshadows nometa #pragma instancing_options assumeuniformscaling nomatrices nolightprobe nolightmap forwardadd #pragma multi_compile_fog #pragma target 3.0 // needs more than 8 texcoords #pragma exclude_renderers gles #include "UnityPBSLighting.cginc" #pragma multi_compile_local __ _NORMALMAP #define TERRAIN_SPLAT_ADDPASS #define TERRAIN_STANDARD_SHADER #define TERRAIN_INSTANCED_PERPIXEL_NORMAL #define TERRAIN_SURFACE_OUTPUT SurfaceOutputStandard #include "WCTerrainSplatmapCommon.cginc" half _Metallic0; half _Metallic1; half _Metallic2; half _Metallic3; half _Smoothness0; half _Smoothness1; half _Smoothness2; half _Smoothness3; sampler2D _ColorMap; void surf (Input IN, inout SurfaceOutputStandard o) { half4 splat_control; half weight; fixed4 mixedDiffuse; half4 defaultSmoothness = half4(_Smoothness0, _Smoothness1, _Smoothness2, _Smoothness3); SplatmapMix(IN, defaultSmoothness, splat_control, weight, mixedDiffuse, o.Normal); o.Albedo = mixedDiffuse.rgb * tex2D(_ColorMap, IN.tc.xy * _OffsetSize.zw + _OffsetSize.xy).rgb; o.Alpha = weight; o.Smoothness = mixedDiffuse.a; o.Metallic = dot(splat_control, half4(_Metallic0, _Metallic1, _Metallic2, _Metallic3)); } ENDCG } Fallback "Hidden/TerrainEngine/Splatmap/Diffuse-AddPass" }