您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
61782 行
2.9 MiB
61782 行
2.9 MiB
%YAML 1.1
|
|
%TAG !u! tag:unity3d.com,2011:
|
|
--- !u!48 &4843632
|
|
Shader:
|
|
m_ObjectHideFlags: 1
|
|
m_PrefabParentObject: {fileID: 0}
|
|
m_PrefabInternal: {fileID: 0}
|
|
m_Name: TestGraph2
|
|
m_Script: "Shader \"Graph/MetalTest\" \n{\n\tProperties \n\t{\n\t\t[HideInInspector]
|
|
Texture_8096(\"Texture_8096\", 2D) = \"white\" {}\n\t\t[HideInInspector] Texture_789994(\"Texture_789994\",
|
|
2D) = \"white\" {}\n\t\t[HideInInspector] Texture_821680(\"Texture_821680\", 2D)
|
|
= \"white\" {}\n\t\t[HideInInspector] Texture_865638(\"Texture_865638\", 2D) =
|
|
\"white\" {}\n\t\t[HideInInspector] Texture_8084(\"Texture_8084\", 2D) = \"bump\"
|
|
{}\n\n\t}\t\n\t\n\tSubShader \n\t{\n\t\tTags {\r\n\t\t\t\"RenderType\"=\"Opaque\"\r\n\t\t\t\"Queue\"=\"Geometry\"\r\n\t\t}\r\n\n\t\tBlend
|
|
One Zero\r\n\n\t\tCull Back\r\n\n\t\tZTest LEqual\r\n\n\t\tZWrite On\r\n\n\n\t\tLOD
|
|
200\n\t\t\n\t\t\n\t// ------------------------------------------------------------\n\t//
|
|
Surface shader code generated out of a CGPROGRAM block:\n\t\n\n\t// ---- forward
|
|
rendering base pass:\n\tPass {\n\t\tName \"FORWARD\"\n\t\tTags { \"LightMode\"
|
|
= \"ForwardBase\" }\n\nGpuProgramID 32203\nTags { \"ShadowSupport\" = \"True\"
|
|
}\nProgram \"vp\" {}\nProgram \"fp\" {}\n\n#LINE 278\n\n\n}\n\n\t// ---- forward
|
|
rendering additive lights pass:\n\tPass {\n\t\tName \"FORWARD\"\n\t\tTags { \"LightMode\"
|
|
= \"ForwardAdd\" }\n\t\tZWrite Off Blend One One\n\nGpuProgramID 124177\nProgram
|
|
\"vp\" {}\nProgram \"fp\" {}\n\n#LINE 200\n\n\n}\n\n\t// ---- deferred shading
|
|
pass:\n\tPass {\n\t\tName \"DEFERRED\"\n\t\tTags { \"LightMode\" = \"Deferred\"
|
|
}\n\nGpuProgramID 138832\nProgram \"vp\" {}\nProgram \"fp\" {}\n\n#LINE 272\n\n\n}\n\n\t//
|
|
---- meta information extraction pass:\n\tPass {\n\t\tName \"Meta\"\n\t\tTags
|
|
{ \"LightMode\" = \"Meta\" }\n\t\tCull Off\n\nGpuProgramID 205849\nProgram \"vp\"
|
|
{}\nProgram \"fp\" {}\n\n#LINE 174\n\n\n}\n\n\t// ---- end of surface shader generated
|
|
code\n\n#LINE 110\n\n\t} \n\tFallBack \"Diffuse\"\n}\n"
|
|
m_PathName:
|
|
decompressedSize: 0
|
|
m_SubProgramBlob:
|
|
m_Dependencies:
|
|
- {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
|
|
- {fileID: 6, guid: 0000000000000000f000000000000000, type: 0}
|
|
m_ShaderIsBaked: 0
|
|
errors: []
|
|
m_DefaultTextures:
|
|
Texture_789994: {fileID: 2800000, guid: 7dd6b834ca1537d49950342ed6c17de8, type: 3}
|
|
Texture_8084: {fileID: 2800000, guid: 65e6d39bbd36f9c45a618111370cb870, type: 3}
|
|
Texture_8096: {fileID: 2800000, guid: 2c46ce2080751d44c881c643e8984c6c, type: 3}
|
|
Texture_821680: {fileID: 2800000, guid: 7dd6b834ca1537d49950342ed6c17de8, type: 3}
|
|
Texture_865638: {fileID: 2800000, guid: 7dd6b834ca1537d49950342ed6c17de8, type: 3}
|
|
m_CompileInfo:
|
|
m_Snippets:
|
|
1562:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Emission = AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n
|
|
\ float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD3; // SH\n #endif\n
|
|
\ SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD6;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n
|
|
\ float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n
|
|
\ float4 lmap : TEXCOORD3;\n SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n
|
|
\ #ifdef DIRLIGHTMAP_COMBINED\n fixed3 tSpace0 : TEXCOORD6;\n fixed3 tSpace1
|
|
: TEXCOORD7;\n fixed3 tSpace2 : TEXCOORD8;\n #endif\n};\n#endif\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n #endif\n #if !defined(LIGHTMAP_OFF)
|
|
&& defined(DIRLIGHTMAP_COMBINED)\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x,
|
|
worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y,
|
|
worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z,
|
|
worldNormal.z, worldPos.z);\n #endif\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #endif\n\n // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if
|
|
UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh
|
|
= 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir
|
|
= normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal
|
|
= IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n // call surface
|
|
function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n
|
|
\ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n\n //
|
|
Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard
|
|
(o, worldViewDir, gi);\n c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
2120:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n
|
|
\ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
3778:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.2279412, 0.2279412, 0.2279412, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n
|
|
\ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
5434:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (1, 1, 1, 0);\r\n\t\t\thalf4 V4Node_12674 = half4
|
|
(0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n
|
|
\ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
5920:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\to.Normal =
|
|
Texture_5626_Output;\r\n\t\t\thalf4 ColorNode_3874 = half4 (0.028, 0.02448422,
|
|
0.02196093, 1);\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= ColorNode_3874;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n
|
|
\ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
6581:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\n\n\t\tsampler2D Texture_164718;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_164718_Output = tex2D (Texture_164718,
|
|
IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_164718_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n
|
|
\ float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD3; // SH\n #endif\n
|
|
\ SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD6;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n
|
|
\ float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n
|
|
\ float4 lmap : TEXCOORD3;\n SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n
|
|
\ #ifdef DIRLIGHTMAP_COMBINED\n fixed3 tSpace0 : TEXCOORD6;\n fixed3 tSpace1
|
|
: TEXCOORD7;\n fixed3 tSpace2 : TEXCOORD8;\n #endif\n};\n#endif\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n #endif\n #if !defined(LIGHTMAP_OFF)
|
|
&& defined(DIRLIGHTMAP_COMBINED)\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x,
|
|
worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y,
|
|
worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z,
|
|
worldNormal.z, worldPos.z);\n #endif\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #endif\n\n // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if
|
|
UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh
|
|
= 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir
|
|
= normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal
|
|
= IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n // call surface
|
|
function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n
|
|
\ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n\n //
|
|
Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard
|
|
(o, worldViewDir, gi);\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n
|
|
\ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
6689:
|
|
m_Code: "#line 18 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: no\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 1 texcoords actually used\n//
|
|
\ float2 _MainTex\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 8 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//#pragma
|
|
surface surf Lambert\n\nsampler2D _MainTex;\nfixed4 _Color;\n\nstruct Input
|
|
{\n\tfloat2 uv_MainTex;\n};\n\nvoid surf (Input IN, inout SurfaceOutput
|
|
o) {\n\tfixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;\n\to.Albedo
|
|
= c.rgb;\n\to.Alpha = c.a;\n}\n\n\n// vertex-to-fragment interpolation data\n//
|
|
no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n
|
|
\ float2 pack0 : TEXCOORD0; // _MainTex\n half3 worldNormal : TEXCOORD1;\n
|
|
\ float3 worldPos : TEXCOORD2;\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh
|
|
: TEXCOORD3; // SH\n #endif\n SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n
|
|
\ #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD6;\n #endif\n};\n#endif\n//
|
|
with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float2 pack0 : TEXCOORD0; // _MainTex\n half3 worldNormal
|
|
: TEXCOORD1;\n float3 worldPos : TEXCOORD2;\n float4 lmap : TEXCOORD3;\n
|
|
\ SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n #ifdef DIRLIGHTMAP_COMBINED\n
|
|
\ fixed3 tSpace0 : TEXCOORD6;\n fixed3 tSpace1 : TEXCOORD7;\n fixed3 tSpace2
|
|
: TEXCOORD8;\n #endif\n};\n#endif\nfloat4 _MainTex_ST;\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n o.pack0.xy = TRANSFORM_TEX(v.texcoord,
|
|
_MainTex);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3
|
|
worldNormal = UnityObjectToWorldNormal(v.normal);\n #if !defined(LIGHTMAP_OFF)
|
|
&& defined(DIRLIGHTMAP_COMBINED)\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n #endif\n
|
|
\ #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #endif\n o.worldPos = worldPos;\n o.worldNormal = worldNormal;\n #ifndef
|
|
DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ o.sh = 0;\n // Approximated illumination from non-important point
|
|
lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n
|
|
\ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh
|
|
= ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n
|
|
\ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.uv_MainTex.x
|
|
= 1.0;\n surfIN.uv_MainTex = IN.pack0.xy;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutput o = (SurfaceOutput)0;\n #else\n SurfaceOutput
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Specular = 0.0;\n
|
|
\ o.Alpha = 0.0;\n o.Gloss = 0.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n
|
|
\ o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\n\n // compute lighting
|
|
& shadowing factor\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4
|
|
c = 0;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.atten = atten;\n
|
|
\ #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingLambert_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingLambert (o, gi);\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/DefaultResourcesExtra
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: b5be55b0c510b99cba9a3700713156e6
|
|
m_IsGLSL: 0
|
|
m_FromOther: 1
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 0
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
7330:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\n\n\t\tsampler2D Texture_8252;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8252_Output = tex2D (Texture_8252, IN.meshUV0.xy);\r\n\t\t\to.Albedo
|
|
= Texture_8252_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos
|
|
: TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ half3 sh : TEXCOORD3; // SH\n #endif\n SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n
|
|
\ #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD6;\n #endif\n};\n#endif\n//
|
|
with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n
|
|
\ half4 custompack0 : TEXCOORD2; // meshUV0\n float4 lmap : TEXCOORD3;\n
|
|
\ SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n #ifdef DIRLIGHTMAP_COMBINED\n
|
|
\ fixed3 tSpace0 : TEXCOORD6;\n fixed3 tSpace1 : TEXCOORD7;\n fixed3 tSpace2
|
|
: TEXCOORD8;\n #endif\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n #endif\n #if !defined(LIGHTMAP_OFF)
|
|
&& defined(DIRLIGHTMAP_COMBINED)\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x,
|
|
worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y,
|
|
worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z,
|
|
worldNormal.z, worldPos.z);\n #endif\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #endif\n\n // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if
|
|
UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh
|
|
= 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir
|
|
= normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal
|
|
= IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n // call surface
|
|
function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n
|
|
\ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n\n //
|
|
Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard
|
|
(o, worldViewDir, gi);\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n
|
|
\ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
8092:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.7058823, 0.7058823,
|
|
0.7058823, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n
|
|
\ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
8577:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.7103448, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 AddNode_174614_Output
|
|
= unity_add_half (unity_add_half (MultiplyNode_168676_Output, ColorNode_3874),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n
|
|
\ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
8888:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4 V4Node_8090
|
|
= half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Smoothness
|
|
= V4Node_8090;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n//
|
|
no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n
|
|
\ float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2
|
|
: TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n
|
|
\ #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n//
|
|
with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n
|
|
\ float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
10314:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.04411763, 0.04411763, 0.04411763, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
12462:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.166, 0.1029412, 0.1029412, 1);\r\n\t\t\thalf4
|
|
MultiplyNode_268362_Output = unity_multiply_half (unity_multiply_half (Texture_114502_Output,
|
|
ColorNode_3874), half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output
|
|
= unity_add_half (unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n
|
|
\ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
12806:
|
|
m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_colorize_half (half4
|
|
arg1, half4 color, half amount, half brightness, half contrast)\r\n\t\t{\r\n\t\t\thalf4
|
|
x = lerp(arg1, arg1 * color, amount);\r\n\t\t\tx *= brightness;\r\n\t\t\tx
|
|
= pow(x, contrast);\r\n\t\t\treturn x;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D
|
|
Texture_865638;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
MultiplyNode_799816_Output = unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4
|
|
Texture_789994_Output = tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
MultiplyNode_1103802_Output = unity_multiply_half (unity_multiply_half (AddNode_8104_Output,
|
|
DivNode_877630_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 ColorizeNode_1142858_Output
|
|
= unity_colorize_half(MultiplyNode_1103802_Output, half4(0.75, 0.1599265,
|
|
0.1599265, 1), 0.4107143, 2, 2.585714);\r\n\t\t\thalf4 ColorNode_8094 =
|
|
half4 (0.2867647, 0.2867647, 0.2867647, 0);\r\n\t\t\thalf4 V4Node_8090 =
|
|
half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorizeNode_1142858_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
13310:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4411765, 0.4411765,
|
|
0.4411765, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Specular = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n
|
|
\ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n
|
|
\ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3
|
|
worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz,
|
|
o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n
|
|
\ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o,
|
|
giInput, gi);\n\n // realtime lighting: call lighting function\n c +=
|
|
LightingStandardSpecular (o, worldViewDir, gi);\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
13478:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 V4Node_12674 = half4
|
|
(0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n
|
|
\ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
13636:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 1, 1, 1);\r\n\t\t\thalf4 MultiplyNode_85320_Output
|
|
= unity_multiply_half (unity_multiply_half (ColorNode_3874, _SinTime), half4
|
|
(1,1,1,1));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= MultiplyNode_85320_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n
|
|
\ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
18788:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_add_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
+ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_114502;\r\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
PowerNode_183162_Output = pow (Texture_114502_Output, _SinTime);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_159178_Output
|
|
= unity_multiply_half (unity_multiply_half (PowerNode_183162_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (half4 (0,0,0,0), MultiplyNode_159178_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_174614_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
20188:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\n\n\t\tsampler2D Texture_8246;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8246_Output = tex2D (Texture_8246, IN.meshUV0.xy);\r\n\t\t\to.Albedo
|
|
= Texture_8246_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos
|
|
: TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ half3 sh : TEXCOORD3; // SH\n #endif\n SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n
|
|
\ #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD6;\n #endif\n};\n#endif\n//
|
|
with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n
|
|
\ half4 custompack0 : TEXCOORD2; // meshUV0\n float4 lmap : TEXCOORD3;\n
|
|
\ SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n #ifdef DIRLIGHTMAP_COMBINED\n
|
|
\ fixed3 tSpace0 : TEXCOORD6;\n fixed3 tSpace1 : TEXCOORD7;\n fixed3 tSpace2
|
|
: TEXCOORD8;\n #endif\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n #endif\n #if !defined(LIGHTMAP_OFF)
|
|
&& defined(DIRLIGHTMAP_COMBINED)\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x,
|
|
worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y,
|
|
worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z,
|
|
worldNormal.z, worldPos.z);\n #endif\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #endif\n\n // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if
|
|
UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh
|
|
= 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir
|
|
= normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal
|
|
= IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n // call surface
|
|
function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n
|
|
\ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n\n //
|
|
Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard
|
|
(o, worldViewDir, gi);\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n
|
|
\ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
21030:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.1323529, 0.1323529, 0.1323529, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n
|
|
\ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
21173:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.7058823, 0.7058823,
|
|
0.7058823, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Specular = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n
|
|
\ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n
|
|
\ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3
|
|
worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz,
|
|
o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n
|
|
\ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o,
|
|
giInput, gi);\n\n // realtime lighting: call lighting function\n c +=
|
|
LightingStandardSpecular (o, worldViewDir, gi);\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
22778:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0.007352948, 0.007352948, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
24575:
|
|
m_Code: "#line 34 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// writes to per-pixel normal:
|
|
no\n// writes to emission: no\n// needs world space reflection vector: no\n//
|
|
needs world space normal vector: no\n// needs screen space position: no\n//
|
|
needs world space position: no\n// needs view direction: no\n// needs world
|
|
space view direction: no\n// needs world space position for lighting: YES\n//
|
|
needs world space view direction for lighting: YES\n// needs world space
|
|
view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE:
|
|
no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from
|
|
normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include
|
|
\"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal)
|
|
data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original
|
|
surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line
|
|
24 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard \n\t\t//#pragma glsl\n\t\t//#pragma
|
|
debug\n\n\n\n\n\n\n\n\t\tstruct Input \n\t\t{\n\t\t\tfloat4 color : COLOR;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\n\t\t}\n\t
|
|
\ \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n
|
|
\ float3 worldPos : TEXCOORD1;\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh
|
|
: TEXCOORD2; // SH\n #endif\n SHADOW_COORDS(3)\n UNITY_FOG_COORDS(4)\n
|
|
\ #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD5;\n #endif\n};\n#endif\n//
|
|
with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n
|
|
\ float4 lmap : TEXCOORD2;\n SHADOW_COORDS(3)\n UNITY_FOG_COORDS(4)\n
|
|
\ #ifdef DIRLIGHTMAP_COMBINED\n fixed3 tSpace0 : TEXCOORD5;\n fixed3 tSpace1
|
|
: TEXCOORD6;\n fixed3 tSpace2 : TEXCOORD7;\n #endif\n};\n#endif\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n fixed3
|
|
worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n #endif\n #if !defined(LIGHTMAP_OFF)
|
|
&& defined(DIRLIGHTMAP_COMBINED)\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x,
|
|
worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y,
|
|
worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z,
|
|
worldNormal.z, worldPos.z);\n #endif\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #endif\n\n // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if
|
|
UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh
|
|
= 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.color.x = 1.0;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\n\n // compute lighting
|
|
& shadowing factor\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4
|
|
c = 0;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard
|
|
(o, worldViewDir, gi);\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n
|
|
\ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
26301:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
ColorNode_8094 = half4 (0.2573529, 0.2573529, 0.2573529, 0);\r\n\t\t\thalf4
|
|
V4Node_8090 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Specular
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n
|
|
\ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3
|
|
worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz,
|
|
o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n
|
|
\ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o,
|
|
giInput, gi);\n\n // realtime lighting: call lighting function\n c +=
|
|
LightingStandardSpecular (o, worldViewDir, gi);\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
26702:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\to.Normal =
|
|
Texture_5626_Output;\r\n\t\t\thalf4 ColorNode_3874 = half4 (0.1568682, 0.1371712,
|
|
0.1230346, 1);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= ColorNode_3874;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
28601:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Albedo
|
|
= AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n
|
|
\ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
32203:
|
|
m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D Texture_865638;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
MultiplyNode_799816_Output = unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4
|
|
Texture_789994_Output = tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
MultiplyNode_1103802_Output = unity_multiply_half (unity_multiply_half (AddNode_8104_Output,
|
|
DivNode_877630_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 ColorNode_8094
|
|
= half4 (0.2867647, 0.2867647, 0.2867647, 0);\r\n\t\t\thalf4 V4Node_8090
|
|
= half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = MultiplyNode_1103802_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
33459:
|
|
m_Code: "#line 84 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 84
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n#pragma
|
|
vertex vert\n#pragma fragment frag\n#pragma multi_compile_shadowcaster\n#include
|
|
\"UnityCG.cginc\"\n\nstruct v2f { \n\tV2F_SHADOW_CASTER;\n};\n\nv2f vert(
|
|
appdata_base v )\n{\n\tv2f o;\n\tTRANSFER_SHADOW_CASTER_NORMALOFFSET(o)\n\treturn
|
|
o;\n}\n\nfloat4 frag( v2f i ) : SV_Target\n{\n\tSHADOW_CASTER_FRAGMENT(i)\n}\n"
|
|
m_AssetPath: Assets/DefaultResourcesExtra
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: a7121ed175b96c69092cfac2c8ff7df9
|
|
m_IsGLSL: 0
|
|
m_FromOther: 1
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - SHADOWS_DEPTH
|
|
- - SHADOWS_CUBE
|
|
m_VariantsBuiltin1:
|
|
- - SHADOWS_DEPTH
|
|
- - SHADOWS_CUBE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 0
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: SHADOWS_CUBE SHADOWS_DEPTH
|
|
34988:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
35056:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.166, 0.1029412, 0.1029412, 1);\r\n\t\t\thalf4
|
|
MultiplyNode_268362_Output = unity_multiply_half (unity_multiply_half (Texture_114502_Output,
|
|
ColorNode_3874), half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output
|
|
= unity_add_half (unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n
|
|
\ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
35497:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.566, 0, 0, 0);\r\n\t\t\thalf4 V4Node_12674 =
|
|
half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n
|
|
\ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
36045:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\to.Normal =
|
|
Texture_5626_Output;\r\n\t\t\thalf4 ColorNode_3874 = half4 (0.1568682, 0.1371712,
|
|
0.1230346, 1);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
36853:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.04411763, 0.04411763, 0.04411763, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n
|
|
\ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
40517:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\thalf4 ColorNode_8094
|
|
= half4 (0.2867647, 0.2867647, 0.2867647, 0);\r\n\t\t\thalf4 V4Node_8090
|
|
= half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Metallic = ColorNode_8094;\r\n\t\t\to.Smoothness
|
|
= V4Node_8090;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n//
|
|
no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n
|
|
\ float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2
|
|
: TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n
|
|
\ #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n//
|
|
with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n
|
|
\ float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
40673:
|
|
m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\t\tsampler2D Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D
|
|
Texture_865638;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
MultiplyNode_799816_Output = unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4
|
|
Texture_789994_Output = tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (3,3,3,3));\r\n\t\t\to.Albedo
|
|
= AddNode_8104_Output;\r\n\t\t\to.Metallic = DivNode_877630_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
41370:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (1, 1, 1, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_174614_Output;\r\n\t\t\to.Specular
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n
|
|
\ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3
|
|
worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz,
|
|
o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n
|
|
\ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o,
|
|
giInput, gi);\n\n // realtime lighting: call lighting function\n c +=
|
|
LightingStandardSpecular (o, worldViewDir, gi);\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
44535:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.7103448, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_159178_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(MultiplyNode_168676_Output, MultiplyNode_159178_Output);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_174614_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
44605:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.028, 0.02448422, 0.02196093, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
44956:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.7058823, 0.7058823,
|
|
0.7058823, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
45732:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 V4Node_12674 = half4
|
|
(0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n
|
|
\ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
47303:
|
|
m_Code: "#line 38 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 28 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D Texture_865638;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_799816_Output = unity_multiply_half
|
|
(UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4 Texture_789994_Output = tex2D
|
|
(Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4 MultiplyNode_801870_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
MultiplyNode_1103802_Output = unity_multiply_half (unity_multiply_half (AddNode_8104_Output,
|
|
DivNode_877630_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 ColorNode_8094
|
|
= half4 (0.2867647, 0.2867647, 0.2867647, 0);\r\n\t\t\thalf4 V4Node_8090
|
|
= half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = MultiplyNode_1103802_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n
|
|
\ float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD3; // SH\n #endif\n
|
|
\ SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD6;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n
|
|
\ float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n
|
|
\ float4 lmap : TEXCOORD3;\n SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n
|
|
\ #ifdef DIRLIGHTMAP_COMBINED\n fixed3 tSpace0 : TEXCOORD6;\n fixed3 tSpace1
|
|
: TEXCOORD7;\n fixed3 tSpace2 : TEXCOORD8;\n #endif\n};\n#endif\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n #endif\n #if !defined(LIGHTMAP_OFF)
|
|
&& defined(DIRLIGHTMAP_COMBINED)\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x,
|
|
worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y,
|
|
worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z,
|
|
worldNormal.z, worldPos.z);\n #endif\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #endif\n\n // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if
|
|
UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh
|
|
= 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir
|
|
= normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal
|
|
= IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n // call surface
|
|
function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n
|
|
\ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n\n //
|
|
Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard
|
|
(o, worldViewDir, gi);\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n
|
|
\ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
47642:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n
|
|
\ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
48423:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.076, 0.06645717, 0.05960822, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
48457:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.7103448, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n
|
|
\ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
48844:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
ColorNode_8094 = half4 (0.2573529, 0.2573529, 0.2573529, 0);\r\n\t\t\thalf4
|
|
V4Node_8090 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
50736:
|
|
m_Code: "#pragma vertex vert\n#pragma fragment frag\n#include \"UnityShaderVariables.cginc\"\n#pragma
|
|
multi_compile_fog\n#include \"UnityCG.cginc\"\n#define USING_FOG (defined(FOG_LINEAR)
|
|
|| defined(FOG_EXP) || defined(FOG_EXP2))\n\n// ES2.0/WebGL/3DS can not
|
|
do loops with non-constant-expression iteration counts :(\n#if defined(SHADER_API_GLES)\n
|
|
\ #define LIGHT_LOOP_LIMIT 8\n#elif defined(SHADER_API_N3DS)\n #define
|
|
LIGHT_LOOP_LIMIT 4\n#else\n #define LIGHT_LOOP_LIMIT unity_VertexLightParams.x\n#endif\n#define
|
|
ENABLE_SPECULAR (!defined(SHADER_API_N3DS))\n\n// Compile specialized variants
|
|
for when positional (point/spot) and spot lights are present\n#pragma multi_compile
|
|
__ POINT SPOT\n\n// Compute illumination from one light, given attenuation\nhalf3
|
|
computeLighting (int idx, half3 dirToLight, half3 eyeNormal, half3 viewDir,
|
|
half4 diffuseColor, half shininess, half atten, inout half3 specColor) {\n
|
|
\ half NdotL = max(dot(eyeNormal, dirToLight), 0.0);\n // diffuse\n half3
|
|
color = NdotL * diffuseColor.rgb * unity_LightColor[idx].rgb;\n return
|
|
color * atten;\n}\n\n// Compute attenuation & illumination from one light\nhalf3
|
|
computeOneLight(int idx, float3 eyePosition, half3 eyeNormal, half3 viewDir,
|
|
half4 diffuseColor, half shininess, inout half3 specColor) {\n float3 dirToLight
|
|
= unity_LightPosition[idx].xyz;\n half att = 1.0;\n #if defined(POINT)
|
|
|| defined(SPOT)\n dirToLight -= eyePosition * unity_LightPosition[idx].w;\n
|
|
\ // distance attenuation\n float distSqr = dot(dirToLight, dirToLight);\n
|
|
\ att /= (1.0 + unity_LightAtten[idx].z * distSqr);\n if (unity_LightPosition[idx].w
|
|
!= 0 && distSqr > unity_LightAtten[idx].w) att = 0.0; // set to 0 if outside
|
|
of range\n dirToLight *= rsqrt(distSqr);\n #if defined(SPOT)\n //
|
|
spot angle attenuation\n half rho = max(dot(dirToLight, unity_SpotDirection[idx].xyz),
|
|
0.0);\n half spotAtt = (rho - unity_LightAtten[idx].x) * unity_LightAtten[idx].y;\n
|
|
\ att *= saturate(spotAtt);\n #endif\n #endif\n att *= 0.5; //
|
|
passed in light colors are 2x brighter than what used to be in FFP\n return
|
|
min (computeLighting (idx, dirToLight, eyeNormal, viewDir, diffuseColor,
|
|
shininess, att, specColor), 1.0);\n}\n\n// uniforms\nhalf4 _Color;\nint4
|
|
unity_VertexLightParams; // x: light count, y: zero, z: one (y/z needed
|
|
by d3d9 vs loop instruction)\nfloat4 _Dummy_ST;\n\n// vertex shader input
|
|
data\nstruct appdata {\n float3 pos : POSITION;\n float3 normal : NORMAL;\n
|
|
\ float3 uv0 : TEXCOORD0;\n};\n\n// vertex-to-fragment interpolators\nstruct
|
|
v2f {\n fixed4 color : COLOR0;\n float2 uv0 : TEXCOORD0;\n #if USING_FOG\n
|
|
\ fixed fog : TEXCOORD1;\n #endif\n float4 pos : SV_POSITION;\n};\n\n//
|
|
vertex shader\nv2f vert (appdata IN) {\n v2f o;\n half4 color = half4(0,0,0,1.1);\n
|
|
\ float3 eyePos = mul (UNITY_MATRIX_MV, float4(IN.pos,1)).xyz;\n half3
|
|
eyeNormal = normalize (mul ((float3x3)UNITY_MATRIX_IT_MV, IN.normal).xyz);\n
|
|
\ half3 viewDir = 0.0;\n // lighting\n half3 lcolor = half4(0,0,0,1).rgb
|
|
+ _Color.rgb * glstate_lightmodel_ambient.rgb;\n half3 specColor = 0.0;\n
|
|
\ half shininess = 0 * 128.0;\n for (int il = 0; il < LIGHT_LOOP_LIMIT;
|
|
++il) {\n lcolor += computeOneLight(il, eyePos, eyeNormal, viewDir, _Color,
|
|
shininess, specColor);\n }\n color.rgb = lcolor.rgb;\n color.a = _Color.a;\n
|
|
\ o.color = saturate(color);\n // compute texture coordinates\n o.uv0
|
|
= IN.uv0.xy * _Dummy_ST.xy + _Dummy_ST.zw;\n // fog\n #if USING_FOG\n
|
|
\ float fogCoord = length(eyePos.xyz); // radial fog distance\n UNITY_CALC_FOG_FACTOR(fogCoord);\n
|
|
\ o.fog = saturate(unityFogFactor);\n #endif\n // transform position\n
|
|
\ o.pos = mul(UNITY_MATRIX_MVP, float4(IN.pos,1));\n return o;\n}\n\n//
|
|
textures\nsampler2D _Dummy; // not in shader properties, assuming 2D\n\n//
|
|
fragment shader\nfixed4 frag (v2f IN) : SV_Target {\n fixed4 col;\n fixed4
|
|
tex, tmp0, tmp1, tmp2;\n // SetTexture #0\n tex = tex2D (_Dummy, IN.uv0.xy);\n
|
|
\ col.rgb = IN.color;\n col *= 2;\n col.a = IN.color.a;\n // fog\n #if
|
|
USING_FOG\n col.rgb = lerp (unity_FogColor.rgb, col.rgb, IN.fog);\n #endif\n
|
|
\ return col;\n}\n\n// texenvs\n//! TexEnv0: 02030000 01070004 [_Dummy]\n"
|
|
m_AssetPath:
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 00000000000000000000000000000000
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - _
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
- - _
|
|
- POINT
|
|
- SPOT
|
|
m_VariantsUser1:
|
|
- - _
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
- - _
|
|
- POINT
|
|
- SPOT
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 0
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2: []
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR POINT SPOT
|
|
m_BuiltinKeywords:
|
|
50910:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.5514706, 0.5514706, 0.5514706, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n
|
|
\ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
50936:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 V4Node_12674 = half4
|
|
(0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n
|
|
\ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n
|
|
\ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
52211:
|
|
m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D Texture_865638;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
MultiplyNode_799816_Output = unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4
|
|
Texture_789994_Output = tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
MultiplyNode_1103802_Output = unity_multiply_half (unity_multiply_half (AddNode_8104_Output,
|
|
DivNode_877630_Output), half4 (1,1,1,1));\r\n\t\t\to.Albedo = MultiplyNode_1103802_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
55379:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = Texture_114502_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
55484:
|
|
m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\t\tsampler2D Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D
|
|
Texture_865638;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4 MultiplyNode_799816_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4 Texture_789994_Output
|
|
= tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
V4Node_8090 = half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Specular
|
|
= DivNode_877630_Output;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n
|
|
\ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3
|
|
worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz,
|
|
o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n
|
|
\ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o,
|
|
giInput, gi);\n\n // realtime lighting: call lighting function\n c +=
|
|
LightingStandardSpecular (o, worldViewDir, gi);\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
58609:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\n\n\t\tsampler2D Texture_8096;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\to.Emission
|
|
= Texture_8096_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos
|
|
: TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ half3 sh : TEXCOORD3; // SH\n #endif\n SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n
|
|
\ #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD6;\n #endif\n};\n#endif\n//
|
|
with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n
|
|
\ half4 custompack0 : TEXCOORD2; // meshUV0\n float4 lmap : TEXCOORD3;\n
|
|
\ SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n #ifdef DIRLIGHTMAP_COMBINED\n
|
|
\ fixed3 tSpace0 : TEXCOORD6;\n fixed3 tSpace1 : TEXCOORD7;\n fixed3 tSpace2
|
|
: TEXCOORD8;\n #endif\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n #endif\n #if !defined(LIGHTMAP_OFF)
|
|
&& defined(DIRLIGHTMAP_COMBINED)\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x,
|
|
worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y,
|
|
worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z,
|
|
worldNormal.z, worldPos.z);\n #endif\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #endif\n\n // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if
|
|
UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh
|
|
= 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir
|
|
= normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal
|
|
= IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n // call surface
|
|
function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n
|
|
\ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n\n //
|
|
Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard
|
|
(o, worldViewDir, gi);\n c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
59808:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
62349:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n
|
|
\ float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD3; // SH\n #endif\n
|
|
\ SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n #if SHADER_TARGET >= 30\n float4
|
|
lmap : TEXCOORD6;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n
|
|
\ float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n
|
|
\ float4 lmap : TEXCOORD3;\n SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n
|
|
\ #ifdef DIRLIGHTMAP_COMBINED\n fixed3 tSpace0 : TEXCOORD6;\n fixed3 tSpace1
|
|
: TEXCOORD7;\n fixed3 tSpace2 : TEXCOORD8;\n #endif\n};\n#endif\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n #endif\n #if !defined(LIGHTMAP_OFF)
|
|
&& defined(DIRLIGHTMAP_COMBINED)\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x,
|
|
worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y,
|
|
worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z,
|
|
worldNormal.z, worldPos.z);\n #endif\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #endif\n\n // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if
|
|
UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh
|
|
= 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir
|
|
= normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal
|
|
= IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n // call surface
|
|
function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n
|
|
\ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n\n //
|
|
Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard
|
|
(o, worldViewDir, gi);\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n
|
|
\ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
63518:
|
|
m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_85320_Output = unity_multiply_half (unity_multiply_half (Texture_114502_Output,
|
|
_SinTime), half4 (1,1,1,1));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353,
|
|
0.4632353, 0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2,
|
|
0.2, 0.2);\r\n\t\t\to.Albedo = MultiplyNode_85320_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n
|
|
\ // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting:
|
|
call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
63936:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Albedo
|
|
= AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos
|
|
: TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ half3 sh : TEXCOORD3; // SH\n #endif\n SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n
|
|
\ #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD6;\n #endif\n};\n#endif\n//
|
|
with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n
|
|
\ half4 custompack0 : TEXCOORD2; // meshUV0\n float4 lmap : TEXCOORD3;\n
|
|
\ SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n #ifdef DIRLIGHTMAP_COMBINED\n
|
|
\ fixed3 tSpace0 : TEXCOORD6;\n fixed3 tSpace1 : TEXCOORD7;\n fixed3 tSpace2
|
|
: TEXCOORD8;\n #endif\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n #endif\n #if !defined(LIGHTMAP_OFF)
|
|
&& defined(DIRLIGHTMAP_COMBINED)\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x,
|
|
worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y,
|
|
worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z,
|
|
worldNormal.z, worldPos.z);\n #endif\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #endif\n\n // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if
|
|
UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh
|
|
= 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir
|
|
= normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal
|
|
= IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n // call surface
|
|
function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n
|
|
\ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n\n //
|
|
Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard
|
|
(o, worldViewDir, gi);\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n
|
|
\ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
63993:
|
|
m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Emission
|
|
= AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4
|
|
pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos
|
|
: TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ half3 sh : TEXCOORD3; // SH\n #endif\n SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n
|
|
\ #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD6;\n #endif\n};\n#endif\n//
|
|
with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n
|
|
\ half4 custompack0 : TEXCOORD2; // meshUV0\n float4 lmap : TEXCOORD3;\n
|
|
\ SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n #ifdef DIRLIGHTMAP_COMBINED\n
|
|
\ fixed3 tSpace0 : TEXCOORD6;\n fixed3 tSpace1 : TEXCOORD7;\n fixed3 tSpace2
|
|
: TEXCOORD8;\n #endif\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n #endif\n #if !defined(LIGHTMAP_OFF)
|
|
&& defined(DIRLIGHTMAP_COMBINED)\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x,
|
|
worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y,
|
|
worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z,
|
|
worldNormal.z, worldPos.z);\n #endif\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #endif\n\n // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if
|
|
UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh
|
|
= 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir
|
|
= normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal
|
|
= IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n // call surface
|
|
function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n
|
|
\ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n\n //
|
|
Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard
|
|
(o, worldViewDir, gi);\n c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
64483:
|
|
m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\t\tsampler2D Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D
|
|
Texture_865638;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4 MultiplyNode_799816_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4 Texture_789994_Output
|
|
= tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (3,3,3,3));\r\n\t\t\thalf4
|
|
V4Node_8090 = half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Specular
|
|
= DivNode_877630_Output;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4;
|
|
// SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET
|
|
>= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef
|
|
LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0
|
|
: TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy
|
|
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n
|
|
\ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif
|
|
(SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ // Add approximated illumination from non-important point lights\n
|
|
\ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0,
|
|
unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb,
|
|
unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n
|
|
\ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n
|
|
\ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w,
|
|
IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir =
|
|
normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n
|
|
\ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3
|
|
worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz,
|
|
o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n
|
|
\ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o,
|
|
giInput, gi);\n\n // realtime lighting: call lighting function\n c +=
|
|
LightingStandardSpecular (o, worldViewDir, gi);\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- VERTEXLIGHT_ON
|
|
m_VariantsBuiltin1:
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_OFF
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
- - DIRECTIONAL
|
|
- LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- SHADOWS_SCREEN
|
|
- SHADOWS_NATIVE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE
|
|
SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON
|
|
66065:
|
|
m_Code: "#line 287 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 28 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D Texture_865638;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_799816_Output = unity_multiply_half
|
|
(UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4 Texture_789994_Output = tex2D
|
|
(Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4 MultiplyNode_801870_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
MultiplyNode_1103802_Output = unity_multiply_half (unity_multiply_half (AddNode_8104_Output,
|
|
DivNode_877630_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 ColorNode_8094
|
|
= half4 (0.2867647, 0.2867647, 0.2867647, 0);\r\n\t\t\thalf4 V4Node_8090
|
|
= half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = MultiplyNode_1103802_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n
|
|
\ half4 custompack0 : TEXCOORD2; // meshUV0\n SHADOW_COORDS(3)\n UNITY_FOG_COORDS(4)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel
|
|
shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel
|
|
shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf
|
|
IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
66806:
|
|
m_Code: "#line 250 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 1, 1, 1);\r\n\t\t\thalf4 MultiplyNode_85320_Output
|
|
= unity_multiply_half (unity_multiply_half (ColorNode_3874, _SinTime), half4
|
|
(1,1,1,1));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= MultiplyNode_85320_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 :
|
|
TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n
|
|
\ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
68024:
|
|
m_Code: "#line 267 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.166, 0.1029412, 0.1029412, 1);\r\n\t\t\thalf4
|
|
MultiplyNode_268362_Output = unity_multiply_half (unity_multiply_half (Texture_114502_Output,
|
|
ColorNode_3874), half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output
|
|
= unity_add_half (unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 :
|
|
TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n
|
|
\ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
72151:
|
|
m_Code: "#line 251 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 V4Node_12674 = half4
|
|
(0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 :
|
|
TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n
|
|
\ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
73687:
|
|
m_Code: "#line 249 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0.007352948, 0.007352948, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
73712:
|
|
m_Code: "#line 252 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.04411763, 0.04411763, 0.04411763, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
74467:
|
|
m_Code: "#line 266 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
ColorNode_8094 = half4 (0.2573529, 0.2573529, 0.2573529, 0);\r\n\t\t\thalf4
|
|
V4Node_8090 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
74720:
|
|
m_Code: "#line 266 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.7058823, 0.7058823,
|
|
0.7058823, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
76542:
|
|
m_Code: "#line 252 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (1, 1, 1, 0);\r\n\t\t\thalf4 V4Node_12674 = half4
|
|
(0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
76781:
|
|
m_Code: "#line 285 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\t\tsampler2D Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D
|
|
Texture_865638;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4 MultiplyNode_799816_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4 Texture_789994_Output
|
|
= tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
V4Node_8090 = half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Specular
|
|
= DivNode_877630_Output;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n
|
|
\ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n
|
|
\ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
76802:
|
|
m_Code: "#line 285 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\t\tsampler2D Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D
|
|
Texture_865638;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4 MultiplyNode_799816_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4 Texture_789994_Output
|
|
= tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (3,3,3,3));\r\n\t\t\thalf4
|
|
V4Node_8090 = half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Specular
|
|
= DivNode_877630_Output;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n
|
|
\ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n
|
|
\ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
79369:
|
|
m_Code: "#line 200 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: no\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 1 texcoords actually used\n//
|
|
\ float2 _MainTex\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 8 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//#pragma
|
|
surface surf Lambert\n\nsampler2D _MainTex;\nfixed4 _Color;\n\nstruct Input
|
|
{\n\tfloat2 uv_MainTex;\n};\n\nvoid surf (Input IN, inout SurfaceOutput
|
|
o) {\n\tfixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;\n\to.Albedo
|
|
= c.rgb;\n\to.Alpha = c.a;\n}\n\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float2 pack0 : TEXCOORD0; //
|
|
_MainTex\n half3 worldNormal : TEXCOORD1;\n float3 worldPos : TEXCOORD2;\n
|
|
\ SHADOW_COORDS(3)\n UNITY_FOG_COORDS(4)\n};\nfloat4 _MainTex_ST;\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n o.pack0.xy = TRANSFORM_TEX(v.texcoord,
|
|
_MainTex);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3
|
|
worldNormal = UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n
|
|
\ o.worldNormal = worldNormal;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.uv_MainTex.x = 1.0;\n
|
|
\ surfIN.uv_MainTex = IN.pack0.xy;\n float3 worldPos = IN.worldPos;\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutput o = (SurfaceOutput)0;\n #else\n SurfaceOutput
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Specular = 0.0;\n
|
|
\ o.Alpha = 0.0;\n o.Gloss = 0.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n
|
|
\ o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingLambert (o, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/DefaultResourcesExtra
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: b5be55b0c510b99cba9a3700713156e6
|
|
m_IsGLSL: 0
|
|
m_FromOther: 1
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 0
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
79445:
|
|
m_Code: "#line 263 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Emission = AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n
|
|
\ half4 custompack0 : TEXCOORD2; // meshUV0\n SHADOW_COORDS(3)\n UNITY_FOG_COORDS(4)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel
|
|
shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel
|
|
shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf
|
|
IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
79757:
|
|
m_Code: "#line 241 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\n\n\t\tsampler2D Texture_8246;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8246_Output = tex2D (Texture_8246, IN.meshUV0.xy);\r\n\t\t\to.Albedo
|
|
= Texture_8246_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal
|
|
: TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2;
|
|
// meshUV0\n SHADOW_COORDS(3)\n UNITY_FOG_COORDS(4)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel
|
|
shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel
|
|
shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf
|
|
IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
80365:
|
|
m_Code: "#line 241 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\n\n\t\tsampler2D Texture_8252;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8252_Output = tex2D (Texture_8252, IN.meshUV0.xy);\r\n\t\t\to.Albedo
|
|
= Texture_8252_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal
|
|
: TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2;
|
|
// meshUV0\n SHADOW_COORDS(3)\n UNITY_FOG_COORDS(4)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel
|
|
shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel
|
|
shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf
|
|
IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
80833:
|
|
m_Code: "#line 268 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (1, 1, 1, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_174614_Output;\r\n\t\t\to.Specular
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n
|
|
\ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n
|
|
\ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
81968:
|
|
m_Code: "#line 262 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
83573:
|
|
m_Code: "#line 241 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\n\n\t\tsampler2D Texture_164718;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_164718_Output = tex2D (Texture_164718,
|
|
IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_164718_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n
|
|
\ half4 custompack0 : TEXCOORD2; // meshUV0\n SHADOW_COORDS(3)\n UNITY_FOG_COORDS(4)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel
|
|
shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel
|
|
shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf
|
|
IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
83983:
|
|
m_Code: "#line 267 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.7103448, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_159178_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(MultiplyNode_168676_Output, MultiplyNode_159178_Output);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_174614_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
84481:
|
|
m_Code: "#line 251 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = Texture_114502_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
85859:
|
|
m_Code: "#pragma vertex vert\n#pragma fragment frag\n#include \"UnityShaderVariables.cginc\"\n#pragma
|
|
multi_compile_fog\n#include \"UnityCG.cginc\"\n#define USING_FOG (defined(FOG_LINEAR)
|
|
|| defined(FOG_EXP) || defined(FOG_EXP2))\n\n// ES2.0/WebGL/3DS can not
|
|
do loops with non-constant-expression iteration counts :(\n#if defined(SHADER_API_GLES)\n
|
|
\ #define LIGHT_LOOP_LIMIT 8\n#elif defined(SHADER_API_N3DS)\n #define
|
|
LIGHT_LOOP_LIMIT 4\n#else\n #define LIGHT_LOOP_LIMIT unity_VertexLightParams.x\n#endif\n#define
|
|
ENABLE_SPECULAR (!defined(SHADER_API_N3DS))\n\n// Compile specialized variants
|
|
for when positional (point/spot) and spot lights are present\n#pragma multi_compile
|
|
__ POINT SPOT\n\n// Compute illumination from one light, given attenuation\nhalf3
|
|
computeLighting (int idx, half3 dirToLight, half3 eyeNormal, half3 viewDir,
|
|
half4 diffuseColor, half shininess, half atten, inout half3 specColor) {\n
|
|
\ half NdotL = max(dot(eyeNormal, dirToLight), 0.0);\n // diffuse\n half3
|
|
color = NdotL * diffuseColor.rgb * unity_LightColor[idx].rgb;\n // specular\n
|
|
\ if (NdotL > 0.0) {\n half3 h = normalize(dirToLight + viewDir);\n half
|
|
HdotN = max(dot(eyeNormal, h), 0.0);\n half sp = saturate(pow(HdotN,
|
|
shininess));\n specColor += (atten * sp) * unity_LightColor[idx].rgb;\n
|
|
\ }\n return color * atten;\n}\n\n// Compute attenuation & illumination
|
|
from one light\nhalf3 computeOneLight(int idx, float3 eyePosition, half3
|
|
eyeNormal, half3 viewDir, half4 diffuseColor, half shininess, inout half3
|
|
specColor) {\n float3 dirToLight = unity_LightPosition[idx].xyz;\n half
|
|
att = 1.0;\n #if defined(POINT) || defined(SPOT)\n dirToLight -= eyePosition
|
|
* unity_LightPosition[idx].w;\n // distance attenuation\n float distSqr
|
|
= dot(dirToLight, dirToLight);\n att /= (1.0 + unity_LightAtten[idx].z
|
|
* distSqr);\n if (unity_LightPosition[idx].w != 0 && distSqr > unity_LightAtten[idx].w)
|
|
att = 0.0; // set to 0 if outside of range\n dirToLight *= rsqrt(distSqr);\n
|
|
\ #if defined(SPOT)\n // spot angle attenuation\n half rho =
|
|
max(dot(dirToLight, unity_SpotDirection[idx].xyz), 0.0);\n half spotAtt
|
|
= (rho - unity_LightAtten[idx].x) * unity_LightAtten[idx].y;\n att
|
|
*= saturate(spotAtt);\n #endif\n #endif\n att *= 0.5; // passed in
|
|
light colors are 2x brighter than what used to be in FFP\n return min (computeLighting
|
|
(idx, dirToLight, eyeNormal, viewDir, diffuseColor, shininess, att, specColor),
|
|
1.0);\n}\n\n// uniforms\nhalf4 _Color;\nhalf4 _SpecColor;\nhalf4 _Emission;\nhalf
|
|
_Shininess;\nint4 unity_VertexLightParams; // x: light count, y: zero, z:
|
|
one (y/z needed by d3d9 vs loop instruction)\nfloat4 _MainTex_ST;\n\n//
|
|
vertex shader input data\nstruct appdata {\n float3 pos : POSITION;\n float3
|
|
normal : NORMAL;\n float3 uv0 : TEXCOORD0;\n};\n\n// vertex-to-fragment
|
|
interpolators\nstruct v2f {\n fixed4 color : COLOR0;\n #if ENABLE_SPECULAR\n
|
|
\ fixed3 specColor : COLOR1;\n #endif\n float2 uv0 : TEXCOORD0;\n #if
|
|
USING_FOG\n fixed fog : TEXCOORD1;\n #endif\n float4 pos : SV_POSITION;\n};\n\n//
|
|
vertex shader\nv2f vert (appdata IN) {\n v2f o;\n half4 color = half4(0,0,0,1.1);\n
|
|
\ float3 eyePos = mul (UNITY_MATRIX_MV, float4(IN.pos,1)).xyz;\n half3
|
|
eyeNormal = normalize (mul ((float3x3)UNITY_MATRIX_IT_MV, IN.normal).xyz);\n
|
|
\ half3 viewDir = 0.0;\n viewDir = -normalize (eyePos);\n // lighting\n
|
|
\ half3 lcolor = _Emission.rgb + _Color.rgb * glstate_lightmodel_ambient.rgb;\n
|
|
\ half3 specColor = 0.0;\n half shininess = _Shininess * 128.0;\n for
|
|
(int il = 0; il < LIGHT_LOOP_LIMIT; ++il) {\n lcolor += computeOneLight(il,
|
|
eyePos, eyeNormal, viewDir, _Color, shininess, specColor);\n }\n color.rgb
|
|
= lcolor.rgb;\n color.a = _Color.a;\n specColor *= _SpecColor.rgb;\n o.color
|
|
= saturate(color);\n #if ENABLE_SPECULAR\n o.specColor = saturate(specColor);\n
|
|
\ #endif\n // compute texture coordinates\n o.uv0 = IN.uv0.xy * _MainTex_ST.xy
|
|
+ _MainTex_ST.zw;\n // fog\n #if USING_FOG\n float fogCoord = length(eyePos.xyz);
|
|
// radial fog distance\n UNITY_CALC_FOG_FACTOR(fogCoord);\n o.fog
|
|
= saturate(unityFogFactor);\n #endif\n // transform position\n o.pos
|
|
= mul(UNITY_MATRIX_MVP, float4(IN.pos,1));\n return o;\n}\n\n// textures\nsampler2D
|
|
_MainTex;\n\n// fragment shader\nfixed4 frag (v2f IN) : SV_Target {\n fixed4
|
|
col;\n fixed4 tex, tmp0, tmp1, tmp2;\n // SetTexture #0\n tex = tex2D
|
|
(_MainTex, IN.uv0.xy);\n col.rgb = tex * IN.color;\n col *= 2;\n col.a
|
|
= fixed4(1,1,1,1).a;\n #if ENABLE_SPECULAR\n // add specular color\n col.rgb
|
|
+= IN.specColor;\n #endif\n // fog\n #if USING_FOG\n col.rgb = lerp
|
|
(unity_FogColor.rgb, col.rgb, IN.fog);\n #endif\n return col;\n}\n\n//
|
|
texenvs\n//! TexEnv0: 02010103 01060004 [_MainTex] [ffffffff]\n"
|
|
m_AssetPath:
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 00000000000000000000000000000000
|
|
m_IsGLSL: 0
|
|
m_FromOther: 1
|
|
m_VariantsUser0:
|
|
- - _
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
- - _
|
|
- POINT
|
|
- SPOT
|
|
m_VariantsUser1:
|
|
- - _
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
- - _
|
|
- POINT
|
|
- SPOT
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 0
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2: []
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR POINT SPOT
|
|
m_BuiltinKeywords:
|
|
86421:
|
|
m_Code: "#line 252 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.566, 0, 0, 0);\r\n\t\t\thalf4 V4Node_12674 =
|
|
half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
86444:
|
|
m_Code: "#line 250 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 V4Node_12674 = half4
|
|
(0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
88493:
|
|
m_Code: "#line 252 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_85320_Output = unity_multiply_half (unity_multiply_half (Texture_114502_Output,
|
|
_SinTime), half4 (1,1,1,1));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353,
|
|
0.4632353, 0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2,
|
|
0.2, 0.2);\r\n\t\t\to.Albedo = MultiplyNode_85320_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
89132:
|
|
m_Code: "#line 266 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.7103448, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 AddNode_174614_Output
|
|
= unity_add_half (unity_add_half (MultiplyNode_168676_Output, ColorNode_3874),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 :
|
|
TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n
|
|
\ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
91637:
|
|
m_Code: "#line 242 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\n\n\t\tsampler2D Texture_8096;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\to.Emission
|
|
= Texture_8096_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal
|
|
: TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2;
|
|
// meshUV0\n SHADOW_COORDS(3)\n UNITY_FOG_COORDS(4)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel
|
|
shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel
|
|
shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf
|
|
IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
95460:
|
|
m_Code: "#line 252 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.2279412, 0.2279412, 0.2279412, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
97752:
|
|
m_Code: "#line 252 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.5514706, 0.5514706, 0.5514706, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
98036:
|
|
m_Code: "#line 267 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
ColorNode_8094 = half4 (0.2573529, 0.2573529, 0.2573529, 0);\r\n\t\t\thalf4
|
|
V4Node_8090 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Specular
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n
|
|
\ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n
|
|
\ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
98878:
|
|
m_Code: "#line 282 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\t\tsampler2D Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D
|
|
Texture_865638;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
MultiplyNode_799816_Output = unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4
|
|
Texture_789994_Output = tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (3,3,3,3));\r\n\t\t\to.Albedo
|
|
= AddNode_8104_Output;\r\n\t\t\to.Metallic = DivNode_877630_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
99134:
|
|
m_Code: "#line 246 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\thalf4 ColorNode_8094
|
|
= half4 (0.2867647, 0.2867647, 0.2867647, 0);\r\n\t\t\thalf4 V4Node_8090
|
|
= half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Metallic = ColorNode_8094;\r\n\t\t\to.Smoothness
|
|
= V4Node_8090;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n
|
|
\ fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos
|
|
: TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n
|
|
\ UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y,
|
|
worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n
|
|
\ o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir
|
|
= normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
100739:
|
|
m_Code: "#line 246 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\to.Normal =
|
|
Texture_5626_Output;\r\n\t\t\thalf4 ColorNode_3874 = half4 (0.1568682, 0.1371712,
|
|
0.1230346, 1);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= ColorNode_3874;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
101721:
|
|
m_Code: "#line 268 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.7058823, 0.7058823,
|
|
0.7058823, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Specular = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 :
|
|
TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n
|
|
\ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n
|
|
\ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n
|
|
\ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
102747:
|
|
m_Code: "#line 248 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\to.Normal =
|
|
Texture_5626_Output;\r\n\t\t\thalf4 ColorNode_3874 = half4 (0.028, 0.02448422,
|
|
0.02196093, 1);\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= ColorNode_3874;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 :
|
|
TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n
|
|
\ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
102981:
|
|
m_Code: "#line 249 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
104352:
|
|
m_Code: "#line 282 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D Texture_865638;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
MultiplyNode_799816_Output = unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4
|
|
Texture_789994_Output = tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
MultiplyNode_1103802_Output = unity_multiply_half (unity_multiply_half (AddNode_8104_Output,
|
|
DivNode_877630_Output), half4 (1,1,1,1));\r\n\t\t\to.Albedo = MultiplyNode_1103802_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
105616:
|
|
m_Code: "#line 230 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// writes to per-pixel normal:
|
|
no\n// writes to emission: no\n// needs world space reflection vector: no\n//
|
|
needs world space normal vector: no\n// needs screen space position: no\n//
|
|
needs world space position: no\n// needs view direction: no\n// needs world
|
|
space view direction: no\n// needs world space position for lighting: YES\n//
|
|
needs world space view direction for lighting: YES\n// needs world space
|
|
view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE:
|
|
no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from
|
|
normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include
|
|
\"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal)
|
|
data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original
|
|
surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line
|
|
24 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard \n\t\t//#pragma glsl\n\t\t//#pragma
|
|
debug\n\n\n\n\n\n\n\n\t\tstruct Input \n\t\t{\n\t\t\tfloat4 color : COLOR;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\n\t\t}\n\t
|
|
\ \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n
|
|
\ SHADOW_COORDS(2)\n UNITY_FOG_COORDS(3)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ o.worldPos = worldPos;\n o.worldNormal = worldNormal;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.color.x = 1.0;\n
|
|
\ float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir =
|
|
normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal
|
|
= IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n // call surface
|
|
function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n
|
|
\ fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n
|
|
\ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n
|
|
\ gi.light.color *= atten;\n c += LightingStandard (o, worldViewDir, gi);\n
|
|
\ c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
106878:
|
|
m_Code: "#line 262 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Albedo
|
|
= AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 :
|
|
TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n
|
|
\ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
109645:
|
|
m_Code: "#line 252 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.1323529, 0.1323529, 0.1323529, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
109823:
|
|
m_Code: "#line 267 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.166, 0.1029412, 0.1029412, 1);\r\n\t\t\thalf4
|
|
MultiplyNode_268362_Output = unity_multiply_half (unity_multiply_half (Texture_114502_Output,
|
|
ColorNode_3874), half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output
|
|
= unity_add_half (unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 :
|
|
TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n
|
|
\ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
111127:
|
|
m_Code: "#line 267 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 :
|
|
TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n
|
|
\ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
112133:
|
|
m_Code: "#line 295 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_colorize_half (half4
|
|
arg1, half4 color, half amount, half brightness, half contrast)\r\n\t\t{\r\n\t\t\thalf4
|
|
x = lerp(arg1, arg1 * color, amount);\r\n\t\t\tx *= brightness;\r\n\t\t\tx
|
|
= pow(x, contrast);\r\n\t\t\treturn x;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D
|
|
Texture_865638;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
MultiplyNode_799816_Output = unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4
|
|
Texture_789994_Output = tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
MultiplyNode_1103802_Output = unity_multiply_half (unity_multiply_half (AddNode_8104_Output,
|
|
DivNode_877630_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 ColorizeNode_1142858_Output
|
|
= unity_colorize_half(MultiplyNode_1103802_Output, half4(0.75, 0.1599265,
|
|
0.1599265, 1), 0.4107143, 2, 2.585714);\r\n\t\t\thalf4 ColorNode_8094 =
|
|
half4 (0.2867647, 0.2867647, 0.2867647, 0);\r\n\t\t\thalf4 V4Node_8090 =
|
|
half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorizeNode_1142858_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
112971:
|
|
m_Code: "#line 247 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 :
|
|
TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n
|
|
\ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
115552:
|
|
m_Code: "#line 268 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4411765, 0.4411765,
|
|
0.4411765, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Specular = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 :
|
|
TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n
|
|
\ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n
|
|
\ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n
|
|
\ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
115598:
|
|
m_Code: "#line 267 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.7103448, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 :
|
|
TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n
|
|
\ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
118397:
|
|
m_Code: "#line 263 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Emission
|
|
= AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal
|
|
: TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2;
|
|
// meshUV0\n SHADOW_COORDS(3)\n UNITY_FOG_COORDS(4)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel
|
|
shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel
|
|
shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf
|
|
IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
118609:
|
|
m_Code: "#line 262 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n
|
|
\ half4 custompack0 : TEXCOORD2; // meshUV0\n SHADOW_COORDS(3)\n UNITY_FOG_COORDS(4)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel
|
|
shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel
|
|
shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf
|
|
IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
122886:
|
|
m_Code: "#line 260 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_add_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
+ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_114502;\r\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
PowerNode_183162_Output = pow (Texture_114502_Output, _SinTime);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_159178_Output
|
|
= unity_multiply_half (unity_multiply_half (PowerNode_183162_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (half4 (0,0,0,0), MultiplyNode_159178_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_174614_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
123059:
|
|
m_Code: "#line 264 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4 V4Node_8090
|
|
= half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Smoothness
|
|
= V4Node_8090;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n
|
|
\ fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos
|
|
: TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n
|
|
\ UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y,
|
|
worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n
|
|
\ o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates
|
|
to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates
|
|
to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir
|
|
= normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
124177:
|
|
m_Code: "#line 286 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D Texture_865638;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
MultiplyNode_799816_Output = unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4
|
|
Texture_789994_Output = tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
MultiplyNode_1103802_Output = unity_multiply_half (unity_multiply_half (AddNode_8104_Output,
|
|
DivNode_877630_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 ColorNode_8094
|
|
= half4 (0.2867647, 0.2867647, 0.2867647, 0);\r\n\t\t\thalf4 V4Node_8090
|
|
= half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = MultiplyNode_1103802_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
124643:
|
|
m_Code: "#line 267 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.7058823, 0.7058823,
|
|
0.7058823, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 :
|
|
TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n
|
|
\ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n
|
|
\ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
125871:
|
|
m_Code: "#line 249 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.04411763, 0.04411763, 0.04411763, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
128129:
|
|
m_Code: "#line 252 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 V4Node_12674 = half4
|
|
(0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
128224:
|
|
m_Code: "#line 249 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.076, 0.06645717, 0.05960822, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
129163:
|
|
m_Code: "#line 244 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\to.Normal =
|
|
Texture_5626_Output;\r\n\t\t\thalf4 ColorNode_3874 = half4 (0.1568682, 0.1371712,
|
|
0.1230346, 1);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
129577:
|
|
m_Code: "#line 262 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define
|
|
WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal)
|
|
normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Albedo
|
|
= AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal
|
|
: TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2;
|
|
// meshUV0\n SHADOW_COORDS(3)\n UNITY_FOG_COORDS(4)\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel
|
|
shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel
|
|
shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf
|
|
IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
130735:
|
|
m_Code: "#line 249 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma
|
|
multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.028, 0.02448422, 0.02196093, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n
|
|
\ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0
|
|
: TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 =
|
|
fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o);
|
|
// pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4
|
|
frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input
|
|
surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x =
|
|
1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n
|
|
\ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten,
|
|
IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz,
|
|
o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz,
|
|
o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color
|
|
= _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl
|
|
= LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n
|
|
\ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord,
|
|
c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 52f816656dafeebcd2f4a2a9b873fb23
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin1:
|
|
- - POINT
|
|
- - DIRECTIONAL
|
|
- - SPOT
|
|
- - POINT_COOKIE
|
|
- - DIRECTIONAL_COOKIE
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT
|
|
131346:
|
|
m_Code: "#line 181 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_add_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
+ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_114502;\r\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
PowerNode_183162_Output = pow (Texture_114502_Output, _SinTime);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_159178_Output
|
|
= unity_multiply_half (unity_multiply_half (PowerNode_183162_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (half4 (0,0,0,0), MultiplyNode_159178_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_174614_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
132597:
|
|
m_Code: "#line 185 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4 V4Node_8090
|
|
= half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Smoothness
|
|
= V4Node_8090;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n
|
|
\ float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n
|
|
\ float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
133147:
|
|
m_Code: "#line 183 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Albedo
|
|
= AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 :
|
|
TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
135166:
|
|
m_Code: "#line 172 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: YES\n// needs world space
|
|
reflection vector: no\n// needs world space normal vector: no\n// needs
|
|
screen space position: no\n// needs world space position: no\n// needs view
|
|
direction: no\n// needs world space view direction: no\n// needs world space
|
|
position for lighting: YES\n// needs world space view direction for lighting:
|
|
YES\n// needs world space view direction for lightmaps: no\n// needs vertex
|
|
color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel
|
|
shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.566, 0, 0, 0);\r\n\t\t\thalf4 V4Node_12674 =
|
|
half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
135648:
|
|
m_Code: "#line 146 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: no\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
no\n// reads from normal: YES\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define
|
|
WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\n\n\t\tsampler2D Texture_8246;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8246_Output = tex2D (Texture_8246, IN.meshUV0.xy);\r\n\t\t\to.Albedo
|
|
= Texture_8246_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal
|
|
: TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2;
|
|
// meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD3;\n#endif\n
|
|
\ float4 lmap : TEXCOORD4;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ half3 sh : TEXCOORD5; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n
|
|
\ float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n
|
|
\ #ifndef DIRLIGHTMAP_OFF\n o.viewDir = viewDirForLight;\n #endif\n#ifndef
|
|
DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz
|
|
- unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n
|
|
\ o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n
|
|
\ #endif\n#else\n o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if
|
|
UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif (SHADER_TARGET
|
|
< 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n #else\n o.sh
|
|
= ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n #endif\n#endif\n
|
|
\ return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\nfixed3 originalNormal =
|
|
o.Normal;\n half atten = 1;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function
|
|
to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir,
|
|
gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n
|
|
\ outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
135881:
|
|
m_Code: "#line 189 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.7058823, 0.7058823,
|
|
0.7058823, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Specular = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 :
|
|
TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3
|
|
worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz,
|
|
o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n
|
|
\ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color
|
|
= 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal,
|
|
gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n
|
|
\ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n
|
|
\ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir
|
|
= worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) ||
|
|
defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n
|
|
\ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting
|
|
function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred
|
|
(o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef
|
|
UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
137415:
|
|
m_Code: "#line 167 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\thalf4 ColorNode_8094
|
|
= half4 (0.2867647, 0.2867647, 0.2867647, 0);\r\n\t\t\thalf4 V4Node_8090
|
|
= half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Metallic = ColorNode_8094;\r\n\t\t\to.Smoothness
|
|
= V4Node_8090;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n
|
|
\ float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n
|
|
\ float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
138832:
|
|
m_Code: "#line 207 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D Texture_865638;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
MultiplyNode_799816_Output = unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4
|
|
Texture_789994_Output = tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
MultiplyNode_1103802_Output = unity_multiply_half (unity_multiply_half (AddNode_8104_Output,
|
|
DivNode_877630_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 ColorNode_8094
|
|
= half4 (0.2867647, 0.2867647, 0.2867647, 0);\r\n\t\t\thalf4 V4Node_8090
|
|
= half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = MultiplyNode_1103802_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
140170:
|
|
m_Code: "#line 170 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.028, 0.02448422, 0.02196093, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
141158:
|
|
m_Code: "#line 188 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.7103448, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_159178_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(MultiplyNode_168676_Output, MultiplyNode_159178_Output);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_174614_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
142887:
|
|
m_Code: "#line 165 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\to.Normal =
|
|
Texture_5626_Output;\r\n\t\t\thalf4 ColorNode_3874 = half4 (0.1568682, 0.1371712,
|
|
0.1230346, 1);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
144735:
|
|
m_Code: "#line 136 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// writes to per-pixel normal: no\n// writes
|
|
to emission: no\n// needs world space reflection vector: no\n// needs world
|
|
space normal vector: no\n// needs screen space position: no\n// needs world
|
|
space position: no\n// needs view direction: no\n// needs world space view
|
|
direction: no\n// needs world space position for lighting: YES\n// needs
|
|
world space view direction for lighting: YES\n// needs world space view
|
|
direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE:
|
|
no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from
|
|
normal: YES\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define
|
|
WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 24
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard \n\t\t//#pragma glsl\n\t\t//#pragma
|
|
debug\n\n\n\n\n\n\n\n\t\tstruct Input \n\t\t{\n\t\t\tfloat4 color : COLOR;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\n\t\t}\n\t
|
|
\ \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD2;\n#endif\n float4 lmap : TEXCOORD3;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD5;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ o.worldPos = worldPos;\n o.worldNormal = worldNormal;\n float3 viewDirForLight
|
|
= UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir
|
|
= viewDirForLight;\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw =
|
|
v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n
|
|
\ o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy
|
|
* unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n
|
|
\ o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.color.x = 1.0;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir
|
|
= normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal
|
|
= IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n // call surface
|
|
function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n half
|
|
atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color
|
|
= 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal,
|
|
gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n
|
|
\ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n
|
|
\ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir
|
|
= worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) ||
|
|
defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n
|
|
\ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function
|
|
to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir,
|
|
gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n
|
|
\ outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
146041:
|
|
m_Code: "#line 192 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: no\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
no\n// reads from normal: YES\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define
|
|
WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 28
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D Texture_865638;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_799816_Output = unity_multiply_half
|
|
(UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4 Texture_789994_Output = tex2D
|
|
(Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4 MultiplyNode_801870_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
MultiplyNode_1103802_Output = unity_multiply_half (unity_multiply_half (AddNode_8104_Output,
|
|
DivNode_877630_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 ColorNode_8094
|
|
= half4 (0.2867647, 0.2867647, 0.2867647, 0);\r\n\t\t\thalf4 V4Node_8090
|
|
= half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = MultiplyNode_1103802_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n
|
|
\ half4 custompack0 : TEXCOORD2; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD3;\n#endif\n float4 lmap : TEXCOORD4;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD5; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n
|
|
\ #ifndef DIRLIGHTMAP_OFF\n o.viewDir = viewDirForLight;\n #endif\n#ifndef
|
|
DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz
|
|
- unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n
|
|
\ o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n
|
|
\ #endif\n#else\n o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if
|
|
UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif (SHADER_TARGET
|
|
< 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n #else\n o.sh
|
|
= ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n #endif\n#endif\n
|
|
\ return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\nfixed3 originalNormal =
|
|
o.Normal;\n half atten = 1;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function
|
|
to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir,
|
|
gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n
|
|
\ outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
148973:
|
|
m_Code: "#line 188 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 :
|
|
TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
149662:
|
|
m_Code: "#line 188 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.7058823, 0.7058823,
|
|
0.7058823, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 :
|
|
TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
149923:
|
|
m_Code: "#line 172 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: YES\n// needs world space
|
|
reflection vector: no\n// needs world space normal vector: no\n// needs
|
|
screen space position: no\n// needs world space position: no\n// needs view
|
|
direction: no\n// needs world space view direction: no\n// needs world space
|
|
position for lighting: YES\n// needs world space view direction for lighting:
|
|
YES\n// needs world space view direction for lightmaps: no\n// needs vertex
|
|
color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel
|
|
shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 V4Node_12674 = half4
|
|
(0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
151330:
|
|
m_Code: "#line 203 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D Texture_865638;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
MultiplyNode_799816_Output = unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4
|
|
Texture_789994_Output = tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
MultiplyNode_1103802_Output = unity_multiply_half (unity_multiply_half (AddNode_8104_Output,
|
|
DivNode_877630_Output), half4 (1,1,1,1));\r\n\t\t\to.Albedo = MultiplyNode_1103802_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
153079:
|
|
m_Code: "#line 189 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (1, 1, 1, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_174614_Output;\r\n\t\t\to.Specular
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3
|
|
worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz,
|
|
o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n
|
|
\ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color
|
|
= 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal,
|
|
gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n
|
|
\ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n
|
|
\ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir
|
|
= worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) ||
|
|
defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n
|
|
\ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting
|
|
function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred
|
|
(o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef
|
|
UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
155416:
|
|
m_Code: "#pragma vertex vert\n#pragma fragment frag\n#include \"UnityShaderVariables.cginc\"\n#pragma
|
|
multi_compile_fog\n#include \"UnityCG.cginc\"\n#define USING_FOG (defined(FOG_LINEAR)
|
|
|| defined(FOG_EXP) || defined(FOG_EXP2))\n\n// uniforms\nfloat4 _MainTex_ST;\n\n//
|
|
vertex shader input data\nstruct appdata {\n float3 pos : POSITION;\n float3
|
|
uv1 : TEXCOORD1;\n float3 uv0 : TEXCOORD0;\n};\n\n// vertex-to-fragment
|
|
interpolators\nstruct v2f {\n fixed4 color : COLOR0;\n float2 uv0 : TEXCOORD0;\n
|
|
\ float2 uv1 : TEXCOORD1;\n #if USING_FOG\n fixed fog : TEXCOORD2;\n
|
|
\ #endif\n float4 pos : SV_POSITION;\n};\n\n// vertex shader\nv2f vert
|
|
(appdata IN) {\n v2f o;\n half4 color = half4(0,0,0,1.1);\n float3 eyePos
|
|
= mul (UNITY_MATRIX_MV, float4(IN.pos,1)).xyz;\n half3 viewDir = 0.0;\n
|
|
\ o.color = saturate(color);\n // compute texture coordinates\n o.uv0
|
|
= IN.uv1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n o.uv1 = IN.uv0.xy
|
|
* _MainTex_ST.xy + _MainTex_ST.zw;\n // fog\n #if USING_FOG\n float
|
|
fogCoord = length(eyePos.xyz); // radial fog distance\n UNITY_CALC_FOG_FACTOR(fogCoord);\n
|
|
\ o.fog = saturate(unityFogFactor);\n #endif\n // transform position\n
|
|
\ o.pos = mul(UNITY_MATRIX_MVP, float4(IN.pos,1));\n return o;\n}\n\n//
|
|
textures\nsampler2D _MainTex;\nfixed4 _Color;\n\n// fragment shader\nfixed4
|
|
frag (v2f IN) : SV_Target {\n fixed4 col;\n fixed4 tex, tmp0, tmp1, tmp2;\n
|
|
\ // SetTexture #0\n tex = UNITY_SAMPLE_TEX2D (unity_Lightmap, IN.uv0.xy);\n
|
|
\ col = tex * _Color;\n // SetTexture #1\n tex = tex2D (_MainTex, IN.uv1.xy);\n
|
|
\ col.rgb = tex * col;\n col *= 2;\n col.a = fixed4(1,1,1,1).a;\n //
|
|
fog\n #if USING_FOG\n col.rgb = lerp (unity_FogColor.rgb, col.rgb, IN.fog);\n
|
|
\ #endif\n return col;\n}\n\n// texenvs\n//! TexEnv0: 01010102 01010102
|
|
[unity_Lightmap] [_Color] usesLightmapST\n//! TexEnv1: 02010100 01060004
|
|
[_MainTex] [ffffffff]\n"
|
|
m_AssetPath:
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 00000000000000000000000000000000
|
|
m_IsGLSL: 0
|
|
m_FromOther: 1
|
|
m_VariantsUser0:
|
|
- - _
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - _
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 0
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2: []
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords:
|
|
157428:
|
|
m_Code: "#line 206 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\t\tsampler2D Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D
|
|
Texture_865638;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4 MultiplyNode_799816_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4 Texture_789994_Output
|
|
= tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (3,3,3,3));\r\n\t\t\thalf4
|
|
V4Node_8090 = half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Specular
|
|
= DivNode_877630_Output;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3
|
|
worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz,
|
|
o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n
|
|
\ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color
|
|
= 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal,
|
|
gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n
|
|
\ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n
|
|
\ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir
|
|
= worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) ||
|
|
defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n
|
|
\ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting
|
|
function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred
|
|
(o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef
|
|
UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
159587:
|
|
m_Code: "#line 172 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: YES\n// needs world space
|
|
reflection vector: no\n// needs world space normal vector: no\n// needs
|
|
screen space position: no\n// needs world space position: no\n// needs view
|
|
direction: no\n// needs world space view direction: no\n// needs world space
|
|
position for lighting: YES\n// needs world space view direction for lighting:
|
|
YES\n// needs world space view direction for lightmaps: no\n// needs vertex
|
|
color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel
|
|
shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.2279412, 0.2279412, 0.2279412, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
159990:
|
|
m_Code: "#line 170 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.076, 0.06645717, 0.05960822, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
160281:
|
|
m_Code: "#line 167 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: no\n// writes to emission: YES\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
no\n// reads from normal: YES\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define
|
|
WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Emission = AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n
|
|
\ half4 custompack0 : TEXCOORD2; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD3;\n#endif\n float4 lmap : TEXCOORD4;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD5; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n
|
|
\ #ifndef DIRLIGHTMAP_OFF\n o.viewDir = viewDirForLight;\n #endif\n#ifndef
|
|
DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz
|
|
- unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n
|
|
\ o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n
|
|
\ #endif\n#else\n o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if
|
|
UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif (SHADER_TARGET
|
|
< 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n #else\n o.sh
|
|
= ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n #endif\n#endif\n
|
|
\ return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\nfixed3 originalNormal =
|
|
o.Normal;\n half atten = 1;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function
|
|
to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir,
|
|
gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n
|
|
\ outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
160483:
|
|
m_Code: "#line 172 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: YES\n// needs world space
|
|
reflection vector: no\n// needs world space normal vector: no\n// needs
|
|
screen space position: no\n// needs world space position: no\n// needs view
|
|
direction: no\n// needs world space view direction: no\n// needs world space
|
|
position for lighting: YES\n// needs world space view direction for lighting:
|
|
YES\n// needs world space view direction for lightmaps: no\n// needs vertex
|
|
color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel
|
|
shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.5514706, 0.5514706, 0.5514706, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
161489:
|
|
m_Code: "#line 111 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: no\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: YES\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_PREPASSBASE\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal)
|
|
data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original
|
|
surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line
|
|
8 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//#pragma
|
|
surface surf Lambert\n\nsampler2D _MainTex;\nfixed4 _Color;\n\nstruct Input
|
|
{\n\tfloat2 uv_MainTex;\n};\n\nvoid surf (Input IN, inout SurfaceOutput
|
|
o) {\n\tfixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;\n\to.Albedo
|
|
= c.rgb;\n\to.Alpha = c.a;\n}\n\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n
|
|
\ float3 worldPos : TEXCOORD1;\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ o.worldPos = worldPos;\n o.worldNormal = worldNormal;\n return o;\n}\n\n//
|
|
fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare
|
|
and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.uv_MainTex.x = 1.0;\n float3 worldPos = IN.worldPos;\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutput o = (SurfaceOutput)0;\n #else\n SurfaceOutput
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Specular = 0.0;\n
|
|
\ o.Alpha = 0.0;\n o.Gloss = 0.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n
|
|
\ o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\n\n // output normal and
|
|
specular\n fixed4 res;\n res.rgb = o.Normal * 0.5 + 0.5;\n res.a = o.Specular;\n
|
|
\ return res;\n}\n\n"
|
|
m_AssetPath: Assets/DefaultResourcesExtra
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 31f47922f5eab9ea49e6483203005346
|
|
m_IsGLSL: 0
|
|
m_FromOther: 1
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 0
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
162226:
|
|
m_Code: "#line 203 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\t\tsampler2D Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D
|
|
Texture_865638;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
MultiplyNode_799816_Output = unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4
|
|
Texture_789994_Output = tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (3,3,3,3));\r\n\t\t\to.Albedo
|
|
= AddNode_8104_Output;\r\n\t\t\to.Metallic = DivNode_877630_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
163207:
|
|
m_Code: "#line 187 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.7103448, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 AddNode_174614_Output
|
|
= unity_add_half (unity_add_half (MultiplyNode_168676_Output, ColorNode_3874),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 :
|
|
TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
164601:
|
|
m_Code: "#line 167 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: no\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
no\n// reads from normal: YES\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define
|
|
WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Albedo
|
|
= AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal
|
|
: TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2;
|
|
// meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD3;\n#endif\n
|
|
\ float4 lmap : TEXCOORD4;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ half3 sh : TEXCOORD5; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n
|
|
\ float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n
|
|
\ #ifndef DIRLIGHTMAP_OFF\n o.viewDir = viewDirForLight;\n #endif\n#ifndef
|
|
DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz
|
|
- unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n
|
|
\ o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n
|
|
\ #endif\n#else\n o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if
|
|
UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif (SHADER_TARGET
|
|
< 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n #else\n o.sh
|
|
= ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n #endif\n#endif\n
|
|
\ return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\nfixed3 originalNormal =
|
|
o.Normal;\n half atten = 1;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function
|
|
to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir,
|
|
gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n
|
|
\ outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
166677:
|
|
m_Code: "#line 168 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 :
|
|
TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
167187:
|
|
m_Code: "#line 188 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.7103448, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 :
|
|
TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
168978:
|
|
m_Code: "#line 172 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: YES\n// needs world space
|
|
reflection vector: no\n// needs world space normal vector: no\n// needs
|
|
screen space position: no\n// needs world space position: no\n// needs view
|
|
direction: no\n// needs world space view direction: no\n// needs world space
|
|
position for lighting: YES\n// needs world space view direction for lighting:
|
|
YES\n// needs world space view direction for lightmaps: no\n// needs vertex
|
|
color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel
|
|
shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.04411763, 0.04411763, 0.04411763, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
170643:
|
|
m_Code: "#line 216 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_colorize_half (half4
|
|
arg1, half4 color, half amount, half brightness, half contrast)\r\n\t\t{\r\n\t\t\thalf4
|
|
x = lerp(arg1, arg1 * color, amount);\r\n\t\t\tx *= brightness;\r\n\t\t\tx
|
|
= pow(x, contrast);\r\n\t\t\treturn x;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D
|
|
Texture_865638;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
MultiplyNode_799816_Output = unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4
|
|
Texture_789994_Output = tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
MultiplyNode_1103802_Output = unity_multiply_half (unity_multiply_half (AddNode_8104_Output,
|
|
DivNode_877630_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 ColorizeNode_1142858_Output
|
|
= unity_colorize_half(MultiplyNode_1103802_Output, half4(0.75, 0.1599265,
|
|
0.1599265, 1), 0.4107143, 2, 2.585714);\r\n\t\t\thalf4 ColorNode_8094 =
|
|
half4 (0.2867647, 0.2867647, 0.2867647, 0);\r\n\t\t\thalf4 V4Node_8090 =
|
|
half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorizeNode_1142858_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
170766:
|
|
m_Code: "#line 146 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: no\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
no\n// reads from normal: YES\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define
|
|
WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\n\n\t\tsampler2D Texture_164718;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_164718_Output = tex2D (Texture_164718,
|
|
IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_164718_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n
|
|
\ half4 custompack0 : TEXCOORD2; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD3;\n#endif\n float4 lmap : TEXCOORD4;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD5; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n
|
|
\ #ifndef DIRLIGHTMAP_OFF\n o.viewDir = viewDirForLight;\n #endif\n#ifndef
|
|
DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz
|
|
- unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n
|
|
\ o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n
|
|
\ #endif\n#else\n o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if
|
|
UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif (SHADER_TARGET
|
|
< 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n #else\n o.sh
|
|
= ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n #endif\n#endif\n
|
|
\ return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\nfixed3 originalNormal =
|
|
o.Normal;\n half atten = 1;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function
|
|
to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir,
|
|
gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n
|
|
\ outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
170804:
|
|
m_Code: "#line 169 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\to.Normal =
|
|
Texture_5626_Output;\r\n\t\t\thalf4 ColorNode_3874 = half4 (0.028, 0.02448422,
|
|
0.02196093, 1);\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= ColorNode_3874;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 :
|
|
TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
174523:
|
|
m_Code: "#line 146 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: no\n// writes to emission: YES\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
no\n// reads from normal: YES\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define
|
|
WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\n\n\t\tsampler2D Texture_8096;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\to.Emission
|
|
= Texture_8096_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal
|
|
: TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2;
|
|
// meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD3;\n#endif\n
|
|
\ float4 lmap : TEXCOORD4;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ half3 sh : TEXCOORD5; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n
|
|
\ float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n
|
|
\ #ifndef DIRLIGHTMAP_OFF\n o.viewDir = viewDirForLight;\n #endif\n#ifndef
|
|
DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz
|
|
- unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n
|
|
\ o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n
|
|
\ #endif\n#else\n o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if
|
|
UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif (SHADER_TARGET
|
|
< 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n #else\n o.sh
|
|
= ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n #endif\n#endif\n
|
|
\ return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\nfixed3 originalNormal =
|
|
o.Normal;\n half atten = 1;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function
|
|
to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir,
|
|
gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n
|
|
\ outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
174805:
|
|
m_Code: "#line 146 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: no\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
no\n// reads from normal: YES\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define
|
|
WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\n\n\t\tsampler2D Texture_8252;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8252_Output = tex2D (Texture_8252, IN.meshUV0.xy);\r\n\t\t\to.Albedo
|
|
= Texture_8252_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal
|
|
: TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2;
|
|
// meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD3;\n#endif\n
|
|
\ float4 lmap : TEXCOORD4;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ half3 sh : TEXCOORD5; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n
|
|
\ float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n
|
|
\ #ifndef DIRLIGHTMAP_OFF\n o.viewDir = viewDirForLight;\n #endif\n#ifndef
|
|
DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz
|
|
- unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n
|
|
\ o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n
|
|
\ #endif\n#else\n o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if
|
|
UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif (SHADER_TARGET
|
|
< 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n #else\n o.sh
|
|
= ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n #endif\n#endif\n
|
|
\ return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\nfixed3 originalNormal =
|
|
o.Normal;\n half atten = 1;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function
|
|
to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir,
|
|
gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n
|
|
\ outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
175127:
|
|
m_Code: "#line 167 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: no\n// writes to emission: YES\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
no\n// reads from normal: YES\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define
|
|
WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Emission
|
|
= AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal
|
|
: TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2;
|
|
// meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD3;\n#endif\n
|
|
\ float4 lmap : TEXCOORD4;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ half3 sh : TEXCOORD5; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n
|
|
\ float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n
|
|
\ #ifndef DIRLIGHTMAP_OFF\n o.viewDir = viewDirForLight;\n #endif\n#ifndef
|
|
DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz
|
|
- unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n
|
|
\ o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n
|
|
\ #endif\n#else\n o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if
|
|
UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif (SHADER_TARGET
|
|
< 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n #else\n o.sh
|
|
= ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n #endif\n#endif\n
|
|
\ return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\nfixed3 originalNormal =
|
|
o.Normal;\n half atten = 1;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function
|
|
to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir,
|
|
gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n
|
|
\ outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
175413:
|
|
m_Code: "#line 171 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 1, 1, 1);\r\n\t\t\thalf4 MultiplyNode_85320_Output
|
|
= unity_multiply_half (unity_multiply_half (ColorNode_3874, _SinTime), half4
|
|
(1,1,1,1));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= MultiplyNode_85320_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 :
|
|
TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
177117:
|
|
m_Code: "#line 206 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\t\tsampler2D Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D
|
|
Texture_865638;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4 MultiplyNode_799816_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4 Texture_789994_Output
|
|
= tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
V4Node_8090 = half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Specular
|
|
= DivNode_877630_Output;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3
|
|
worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz,
|
|
o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n
|
|
\ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color
|
|
= 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal,
|
|
gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n
|
|
\ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n
|
|
\ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir
|
|
= worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) ||
|
|
defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n
|
|
\ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting
|
|
function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred
|
|
(o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef
|
|
UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
177256:
|
|
m_Code: "#line 170 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0.007352948, 0.007352948, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
179840:
|
|
m_Code: "#line 188 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.166, 0.1029412, 0.1029412, 1);\r\n\t\t\thalf4
|
|
MultiplyNode_268362_Output = unity_multiply_half (unity_multiply_half (Texture_114502_Output,
|
|
ColorNode_3874), half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output
|
|
= unity_add_half (unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 :
|
|
TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
179983:
|
|
m_Code: "#line 170 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
180284:
|
|
m_Code: "#line 188 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.166, 0.1029412, 0.1029412, 1);\r\n\t\t\thalf4
|
|
MultiplyNode_268362_Output = unity_multiply_half (unity_multiply_half (Texture_114502_Output,
|
|
ColorNode_3874), half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output
|
|
= unity_add_half (unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 :
|
|
TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
182780:
|
|
m_Code: "#line 167 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\to.Normal =
|
|
Texture_5626_Output;\r\n\t\t\thalf4 ColorNode_3874 = half4 (0.1568682, 0.1371712,
|
|
0.1230346, 1);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= ColorNode_3874;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
183415:
|
|
m_Code: "#line 187 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
ColorNode_8094 = half4 (0.2573529, 0.2573529, 0.2573529, 0);\r\n\t\t\thalf4
|
|
V4Node_8090 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
186896:
|
|
m_Code: "#line 189 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4411765, 0.4411765,
|
|
0.4411765, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Specular = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 :
|
|
TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3
|
|
worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz,
|
|
o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n
|
|
\ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color
|
|
= 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal,
|
|
gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n
|
|
\ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n
|
|
\ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir
|
|
= worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) ||
|
|
defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n
|
|
\ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting
|
|
function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred
|
|
(o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef
|
|
UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
187493:
|
|
m_Code: "#line 173 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_85320_Output = unity_multiply_half (unity_multiply_half (Texture_114502_Output,
|
|
_SinTime), half4 (1,1,1,1));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353,
|
|
0.4632353, 0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2,
|
|
0.2, 0.2);\r\n\t\t\to.Albedo = MultiplyNode_85320_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
188677:
|
|
m_Code: "#line 170 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.04411763, 0.04411763, 0.04411763, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
189465:
|
|
m_Code: "#line 188 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
ColorNode_8094 = half4 (0.2573529, 0.2573529, 0.2573529, 0);\r\n\t\t\thalf4
|
|
V4Node_8090 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Specular
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3
|
|
worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz,
|
|
o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n
|
|
\ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color
|
|
= 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal,
|
|
gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n
|
|
\ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n
|
|
\ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir
|
|
= worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) ||
|
|
defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n
|
|
\ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting
|
|
function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred
|
|
(o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef
|
|
UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
190107:
|
|
m_Code: "#line 170 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: YES\n// needs world space
|
|
reflection vector: no\n// needs world space normal vector: no\n// needs
|
|
screen space position: no\n// needs world space position: no\n// needs view
|
|
direction: no\n// needs world space view direction: no\n// needs world space
|
|
position for lighting: YES\n// needs world space view direction for lighting:
|
|
YES\n// needs world space view direction for lightmaps: no\n// needs vertex
|
|
color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel
|
|
shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 V4Node_12674 = half4
|
|
(0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
190687:
|
|
m_Code: "#line 172 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: YES\n// needs world space
|
|
reflection vector: no\n// needs world space normal vector: no\n// needs
|
|
screen space position: no\n// needs world space position: no\n// needs view
|
|
direction: no\n// needs world space view direction: no\n// needs world space
|
|
position for lighting: YES\n// needs world space view direction for lighting:
|
|
YES\n// needs world space view direction for lightmaps: no\n// needs vertex
|
|
color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel
|
|
shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (1, 1, 1, 0);\r\n\t\t\thalf4 V4Node_12674 = half4
|
|
(0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
190875:
|
|
m_Code: "#line 187 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.7058823, 0.7058823,
|
|
0.7058823, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
191149:
|
|
m_Code: "#line 167 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: no\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
no\n// reads from normal: YES\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define
|
|
WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n
|
|
\ half4 custompack0 : TEXCOORD2; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD3;\n#endif\n float4 lmap : TEXCOORD4;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD5; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal
|
|
= worldNormal;\n float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n
|
|
\ #ifndef DIRLIGHTMAP_OFF\n o.viewDir = viewDirForLight;\n #endif\n#ifndef
|
|
DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz
|
|
- unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n
|
|
\ o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n
|
|
\ #endif\n#else\n o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if
|
|
UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif (SHADER_TARGET
|
|
< 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n #else\n o.sh
|
|
= ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n #endif\n#endif\n
|
|
\ return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n
|
|
\ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n
|
|
\ // call surface function\n surf (surfIN, o);\nfixed3 originalNormal =
|
|
o.Normal;\n half atten = 1;\n\n // Setup lighting environment\n UnityGI
|
|
gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n
|
|
\ gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n
|
|
\ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections)
|
|
lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput,
|
|
giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n
|
|
\ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if
|
|
defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function
|
|
to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir,
|
|
gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n
|
|
\ outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
192597:
|
|
m_Code: "#line 172 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = Texture_114502_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
194868:
|
|
m_Code: "#line 171 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: YES\n// needs world space
|
|
reflection vector: no\n// needs world space normal vector: no\n// needs
|
|
screen space position: no\n// needs world space position: no\n// needs view
|
|
direction: no\n// needs world space view direction: no\n// needs world space
|
|
position for lighting: YES\n// needs world space view direction for lighting:
|
|
YES\n// needs world space view direction for lightmaps: no\n// needs vertex
|
|
color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel
|
|
shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 V4Node_12674 = half4
|
|
(0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation
|
|
data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 :
|
|
TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n
|
|
\ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3
|
|
viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n
|
|
\ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
195142:
|
|
m_Code: "#line 172 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: YES\n// needs world space
|
|
reflection vector: no\n// needs world space normal vector: no\n// needs
|
|
screen space position: no\n// needs world space position: no\n// needs view
|
|
direction: no\n// needs world space view direction: no\n// needs world space
|
|
position for lighting: YES\n// needs world space view direction for lighting:
|
|
YES\n// needs world space view direction for lightmaps: no\n// needs vertex
|
|
color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel
|
|
shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.1323529, 0.1323529, 0.1323529, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
195404:
|
|
m_Code: "#line 183 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma
|
|
multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface
|
|
shader code generated based on:\n// vertex modifier: 'vert'\n// writes to
|
|
per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection
|
|
vector: no\n// needs world space normal vector: no\n// needs screen space
|
|
position: no\n// needs world space position: no\n// needs view direction:
|
|
no\n// needs world space view direction: no\n// needs world space position
|
|
for lighting: YES\n// needs world space view direction for lighting: YES\n//
|
|
needs world space view direction for lightmaps: no\n// needs vertex color:
|
|
no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader:
|
|
YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3
|
|
internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect
|
|
(data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef
|
|
DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef
|
|
LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; //
|
|
SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos :
|
|
TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef
|
|
DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y
|
|
= dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight,
|
|
worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy
|
|
* unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw
|
|
= 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy
|
|
+ unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz
|
|
= (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n
|
|
\ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n
|
|
\ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n
|
|
\ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4
|
|
unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out
|
|
half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n
|
|
\ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3)
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3
|
|
worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n
|
|
\ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y
|
|
= dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n
|
|
\ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n
|
|
\ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse
|
|
= 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir
|
|
= half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n
|
|
\ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput
|
|
giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light
|
|
= gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n
|
|
\ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n
|
|
\ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n
|
|
\ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n
|
|
\ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n
|
|
\ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING
|
|
|| UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin;
|
|
// .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0]
|
|
= unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n
|
|
\ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1]
|
|
= unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput,
|
|
gi);\n\n // call lighting function to output g-buffer\n outEmission =
|
|
LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness,
|
|
outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n
|
|
\ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2c7234fa40cfa808fb7c88dc6135c609
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
198214:
|
|
m_Code: "#line 241 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput
|
|
metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo
|
|
= o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
198447:
|
|
m_Code: "#line 245 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = Texture_114502_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
198565:
|
|
m_Code: "#line 262 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4411765, 0.4411765,
|
|
0.4411765, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Specular = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
200267:
|
|
m_Code: "#line 262 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (1, 1, 1, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_174614_Output;\r\n\t\t\to.Specular
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
200282:
|
|
m_Code: "#line 258 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4 V4Node_8090
|
|
= half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Smoothness
|
|
= V4Node_8090;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput
|
|
metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo
|
|
= o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
200775:
|
|
m_Code: "#line 90 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
multi_compile_fog\n#pragma multi_compile_prepassfinal\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: no\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 1 texcoords actually used\n//
|
|
\ float2 _MainTex\n#define UNITY_PASS_PREPASSFINAL\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal)
|
|
data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original
|
|
surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line
|
|
8 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//#pragma
|
|
surface surf Lambert\n\nsampler2D _MainTex;\nfixed4 _Color;\n\nstruct Input
|
|
{\n\tfloat2 uv_MainTex;\n};\n\nvoid surf (Input IN, inout SurfaceOutput
|
|
o) {\n\tfixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;\n\to.Albedo
|
|
= c.rgb;\n\to.Alpha = c.a;\n}\n\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float2 pack0 : TEXCOORD0; //
|
|
_MainTex\n float3 worldPos : TEXCOORD1;\n float4 screen : TEXCOORD2;\n
|
|
\ float4 lmap : TEXCOORD3;\n#ifdef LIGHTMAP_OFF\n float3 vlight : TEXCOORD4;\n#else\n#ifdef
|
|
DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD4;\n#endif\n#endif\n UNITY_FOG_COORDS(5)\n
|
|
\ #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n fixed3
|
|
tSpace0 : TEXCOORD6;\n fixed3 tSpace1 : TEXCOORD7;\n fixed3 tSpace2 :
|
|
TEXCOORD8;\n #endif\n};\nfloat4 _MainTex_ST;\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n o.pack0.xy = TRANSFORM_TEX(v.texcoord,
|
|
_MainTex);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3
|
|
worldNormal = UnityObjectToWorldNormal(v.normal);\n #if !defined(LIGHTMAP_OFF)
|
|
&& defined(DIRLIGHTMAP_COMBINED)\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n #endif\n
|
|
\ #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ #endif\n o.worldPos = worldPos;\n o.screen = ComputeScreenPos (o.pos);\n#ifndef
|
|
DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy
|
|
+ unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef
|
|
LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n
|
|
\ #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz
|
|
- unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n
|
|
\ o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n
|
|
\ #endif\n#else\n o.lmap.xy = 0;\n float3 worldN = UnityObjectToWorldNormal(v.normal);\n
|
|
\ o.vlight = ShadeSH9 (float4(worldN,1.0));\n#endif\n UNITY_TRANSFER_FOG(o,o.pos);
|
|
// pass fog coordinates to pixel shader\n return o;\n}\nsampler2D _LightBuffer;\n#if
|
|
defined (SHADER_API_XBOX360) && defined (UNITY_HDR_ON)\nsampler2D _LightSpecBuffer;\n#endif\n#ifdef
|
|
LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n//
|
|
fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare
|
|
and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.uv_MainTex.x = 1.0;\n surfIN.uv_MainTex = IN.pack0.xy;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutput
|
|
o = (SurfaceOutput)0;\n #else\n SurfaceOutput o;\n #endif\n o.Albedo
|
|
= 0.0;\n o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Gloss
|
|
= 0.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n half4 light = tex2Dproj (_LightBuffer,
|
|
UNITY_PROJ_COORD(IN.screen));\n#if defined (SHADER_API_MOBILE)\n light
|
|
= max(light, half4(0.001, 0.001, 0.001, 0.001));\n#endif\n#ifndef UNITY_HDR_ON\n
|
|
\ light = -log2(light);\n#endif\n#if defined (SHADER_API_XBOX360) && defined
|
|
(UNITY_HDR_ON)\n light.w = tex2Dproj (_LightSpecBuffer, UNITY_PROJ_COORD(IN.screen)).r;\n#endif\n
|
|
\ #ifndef LIGHTMAP_OFF\n #ifdef DIRLIGHTMAP_OFF\n // single lightmap\n
|
|
\ fixed4 lmtex = UNITY_SAMPLE_TEX2D(unity_Lightmap, IN.lmap.xy);\n fixed3
|
|
lm = DecodeLightmap (lmtex);\n light.rgb += lm;\n #elif DIRLIGHTMAP_COMBINED\n
|
|
\ // directional lightmaps\n fixed4 lmtex = UNITY_SAMPLE_TEX2D(unity_Lightmap,
|
|
IN.lmap.xy);\n half4 lm = half4(DecodeLightmap(lmtex), 0);\n light
|
|
+= lm;\n #elif DIRLIGHTMAP_SEPARATE\n // directional with specular
|
|
- no support\n #endif // DIRLIGHTMAP_OFF\n #else\n light.rgb += IN.vlight;\n
|
|
\ #endif // !LIGHTMAP_OFF\n\n #ifndef DYNAMICLIGHTMAP_OFF\n fixed4 dynlmtex
|
|
= UNITY_SAMPLE_TEX2D(unity_DynamicLightmap, IN.lmap.zw);\n light.rgb +=
|
|
DecodeRealtimeLightmap (dynlmtex);\n #endif\n\n half4 c = LightingLambert_PrePass
|
|
(o, light);\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n
|
|
\ return c;\n}\n\n"
|
|
m_AssetPath: Assets/DefaultResourcesExtra
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 31f47922f5eab9ea49e6483203005346
|
|
m_IsGLSL: 0
|
|
m_FromOther: 1
|
|
m_VariantsUser0:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - __
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 0
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
203546:
|
|
m_Code: "#line 245 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (1, 1, 1, 0);\r\n\t\t\thalf4 V4Node_12674 = half4
|
|
(0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
204135:
|
|
m_Code: "#line 261 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.166, 0.1029412, 0.1029412, 1);\r\n\t\t\thalf4
|
|
MultiplyNode_268362_Output = unity_multiply_half (unity_multiply_half (Texture_114502_Output,
|
|
ColorNode_3874), half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output
|
|
= unity_add_half (unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput
|
|
metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo
|
|
= o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
204291:
|
|
m_Code: "#line 260 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.7058823, 0.7058823,
|
|
0.7058823, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
205849:
|
|
m_Code: "#line 280 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D Texture_865638;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
MultiplyNode_799816_Output = unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4
|
|
Texture_789994_Output = tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
MultiplyNode_1103802_Output = unity_multiply_half (unity_multiply_half (AddNode_8104_Output,
|
|
DivNode_877630_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 ColorNode_8094
|
|
= half4 (0.2867647, 0.2867647, 0.2867647, 0);\r\n\t\t\thalf4 V4Node_8090
|
|
= half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = MultiplyNode_1103802_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
206045:
|
|
m_Code: "#line 244 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 1, 1, 1);\r\n\t\t\thalf4 MultiplyNode_85320_Output
|
|
= unity_multiply_half (unity_multiply_half (ColorNode_3874, _SinTime), half4
|
|
(1,1,1,1));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= MultiplyNode_85320_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput
|
|
metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo
|
|
= o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
206110:
|
|
m_Code: "#line 279 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\t\tsampler2D Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D
|
|
Texture_865638;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4 MultiplyNode_799816_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4 Texture_789994_Output
|
|
= tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
V4Node_8090 = half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Specular
|
|
= DivNode_877630_Output;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
206398:
|
|
m_Code: "#line 240 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal)
|
|
data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original
|
|
surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line
|
|
25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Albedo
|
|
= AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float3 worldPos : TEXCOORD0;\n half4 custompack0 : TEXCOORD1;
|
|
// meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v)
|
|
{\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ o.worldPos = worldPos;\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
208143:
|
|
m_Code: "#line 276 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D Texture_865638;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
MultiplyNode_799816_Output = unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4
|
|
Texture_789994_Output = tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
MultiplyNode_1103802_Output = unity_multiply_half (unity_multiply_half (AddNode_8104_Output,
|
|
DivNode_877630_Output), half4 (1,1,1,1));\r\n\t\t\to.Albedo = MultiplyNode_1103802_Output;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
209029:
|
|
m_Code: "#line 243 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0.007352948, 0.007352948, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
209379:
|
|
m_Code: "#line 240 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\thalf4 ColorNode_8094
|
|
= half4 (0.2867647, 0.2867647, 0.2867647, 0);\r\n\t\t\thalf4 V4Node_8090
|
|
= half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Metallic = ColorNode_8094;\r\n\t\t\to.Smoothness
|
|
= V4Node_8090;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput
|
|
metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo
|
|
= o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
210380:
|
|
m_Code: "#line 276 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\t\tsampler2D Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D
|
|
Texture_865638;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
MultiplyNode_799816_Output = unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4
|
|
Texture_789994_Output = tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (3,3,3,3));\r\n\t\t\to.Albedo
|
|
= AddNode_8104_Output;\r\n\t\t\to.Metallic = DivNode_877630_Output;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
211933:
|
|
m_Code: "#line 209 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// writes to per-pixel normal:
|
|
no\n// writes to emission: no\n// needs world space reflection vector: no\n//
|
|
needs world space normal vector: no\n// needs screen space position: no\n//
|
|
needs world space position: no\n// needs view direction: no\n// needs world
|
|
space view direction: no\n// needs world space position for lighting: YES\n//
|
|
needs world space view direction for lighting: YES\n// needs world space
|
|
view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE:
|
|
no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from
|
|
normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include
|
|
\"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define
|
|
INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define
|
|
WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 24
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard \n\t\t//#pragma glsl\n\t\t//#pragma
|
|
debug\n\n\n\n\n\n\n\n\t\tstruct Input \n\t\t{\n\t\t\tfloat4 color : COLOR;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\n\t\t}\n\t
|
|
\ \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float3 worldPos : TEXCOORD0;\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ o.worldPos = worldPos;\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.color.x = 1.0;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard
|
|
o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n
|
|
\ o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
211994:
|
|
m_Code: "#line 262 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.7058823, 0.7058823,
|
|
0.7058823, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Specular = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
214236:
|
|
m_Code: "#line 219 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal)
|
|
data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original
|
|
surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line
|
|
25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\n\n\t\tsampler2D Texture_164718;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_164718_Output = tex2D (Texture_164718,
|
|
IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_164718_Output;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float3 worldPos : TEXCOORD0;\n
|
|
\ half4 custompack0 : TEXCOORD1; // meshUV0\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n return
|
|
o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard
|
|
o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n
|
|
\ o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
214260:
|
|
m_Code: "#line 261 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.7103448, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_159178_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(MultiplyNode_168676_Output, MultiplyNode_159178_Output);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_174614_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
214663:
|
|
m_Code: "#line 245 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.5514706, 0.5514706, 0.5514706, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
217388:
|
|
m_Code: "#line 243 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.076, 0.06645717, 0.05960822, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
218235:
|
|
m_Code: "#line 240 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal)
|
|
data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original
|
|
surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line
|
|
25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float3 worldPos : TEXCOORD0;\n
|
|
\ half4 custompack0 : TEXCOORD1; // meshUV0\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n return
|
|
o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard
|
|
o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n
|
|
\ o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
218572:
|
|
m_Code: "#line 243 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.04411763, 0.04411763, 0.04411763, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
219647:
|
|
m_Code: "#line 243 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.028, 0.02448422, 0.02196093, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
219888:
|
|
m_Code: "#line 243 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 V4Node_12674 = half4
|
|
(0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
220290:
|
|
m_Code: "#line 254 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_add_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
+ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_114502;\r\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
PowerNode_183162_Output = pow (Texture_114502_Output, _SinTime);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_159178_Output
|
|
= unity_multiply_half (unity_multiply_half (PowerNode_183162_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (half4 (0,0,0,0), MultiplyNode_159178_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_174614_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
220338:
|
|
m_Code: "#line 261 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput
|
|
metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo
|
|
= o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
220719:
|
|
m_Code: "#line 260 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.7103448, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 AddNode_174614_Output
|
|
= unity_add_half (unity_add_half (MultiplyNode_168676_Output, ColorNode_3874),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput
|
|
metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo
|
|
= o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
222340:
|
|
m_Code: "#line 261 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.166, 0.1029412, 0.1029412, 1);\r\n\t\t\thalf4
|
|
MultiplyNode_268362_Output = unity_multiply_half (unity_multiply_half (Texture_114502_Output,
|
|
ColorNode_3874), half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output
|
|
= unity_add_half (unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput
|
|
metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo
|
|
= o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
224680:
|
|
m_Code: "#line 245 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 V4Node_12674 = half4
|
|
(0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
228480:
|
|
m_Code: "#line 256 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Albedo
|
|
= AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput
|
|
metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo
|
|
= o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
233646:
|
|
m_Code: "#line 219 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal)
|
|
data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original
|
|
surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line
|
|
25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\n\n\t\tsampler2D Texture_8246;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8246_Output = tex2D (Texture_8246, IN.meshUV0.xy);\r\n\t\t\to.Albedo
|
|
= Texture_8246_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float3 worldPos : TEXCOORD0;\n half4 custompack0 : TEXCOORD1;
|
|
// meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v)
|
|
{\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ o.worldPos = worldPos;\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
233864:
|
|
m_Code: "#line 279 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_8084;\r\n\t\tsampler2D Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D
|
|
Texture_865638;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4 MultiplyNode_799816_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4 Texture_789994_Output
|
|
= tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (3,3,3,3));\r\n\t\t\thalf4
|
|
V4Node_8090 = half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Specular
|
|
= DivNode_877630_Output;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
233930:
|
|
m_Code: "#line 240 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\to.Normal =
|
|
Texture_5626_Output;\r\n\t\t\thalf4 ColorNode_3874 = half4 (0.1568682, 0.1371712,
|
|
0.1230346, 1);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= ColorNode_3874;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
234615:
|
|
m_Code: "#line 261 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.7103448, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput
|
|
metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo
|
|
= o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
235779:
|
|
m_Code: "#line 261 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_166790_Output = unity_subtract_half (half4 (1,1,1,1), Texture_114502_Output);\r\n\t\t\thalf4
|
|
ColorNode_168962 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_168676_Output
|
|
= unity_multiply_half (SubtractNode_166790_Output, ColorNode_168962);\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_268362_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_114502_Output, ColorNode_3874),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_174614_Output = unity_add_half
|
|
(unity_add_half (MultiplyNode_168676_Output, MultiplyNode_268362_Output),
|
|
half4 (0,0,0,0));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.7058823, 0.7058823,
|
|
0.7058823, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= AddNode_174614_Output;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput
|
|
metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo
|
|
= o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
236601:
|
|
m_Code: "#line 219 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal)
|
|
data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original
|
|
surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line
|
|
25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\n\n\t\tsampler2D Texture_8252;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8252_Output = tex2D (Texture_8252, IN.meshUV0.xy);\r\n\t\t\to.Albedo
|
|
= Texture_8252_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float3 worldPos : TEXCOORD0;\n half4 custompack0 : TEXCOORD1;
|
|
// meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v)
|
|
{\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ o.worldPos = worldPos;\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
240616:
|
|
m_Code: "#line 240 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal)
|
|
data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original
|
|
surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line
|
|
25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Emission = AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float3 worldPos : TEXCOORD0;\n
|
|
\ half4 custompack0 : TEXCOORD1; // meshUV0\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n return
|
|
o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard
|
|
o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n
|
|
\ o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
242508:
|
|
m_Code: "#line 265 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal)
|
|
data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original
|
|
surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line
|
|
28 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8096;\r\n\t\tsampler2D
|
|
Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D Texture_865638;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_799816_Output = unity_multiply_half
|
|
(UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4 Texture_789994_Output = tex2D
|
|
(Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4 MultiplyNode_801870_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
MultiplyNode_1103802_Output = unity_multiply_half (unity_multiply_half (AddNode_8104_Output,
|
|
DivNode_877630_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 ColorNode_8094
|
|
= half4 (0.2867647, 0.2867647, 0.2867647, 0);\r\n\t\t\thalf4 V4Node_8090
|
|
= half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = MultiplyNode_1103802_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float3 worldPos : TEXCOORD0;\n
|
|
\ half4 custompack0 : TEXCOORD1; // meshUV0\n};\n\n// vertex shader\nv2f_surf
|
|
vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n return
|
|
o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard
|
|
o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n
|
|
\ o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
244414:
|
|
m_Code: "#line 245 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.04411763, 0.04411763, 0.04411763, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
244642:
|
|
m_Code: "#line 289 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_div_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1
|
|
/ arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_colorize_half (half4
|
|
arg1, half4 color, half amount, half brightness, half contrast)\r\n\t\t{\r\n\t\t\thalf4
|
|
x = lerp(arg1, arg1 * color, amount);\r\n\t\t\tx *= brightness;\r\n\t\t\tx
|
|
= pow(x, contrast);\r\n\t\t\treturn x;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_789994;\r\n\t\tsampler2D Texture_821680;\r\n\t\tsampler2D
|
|
Texture_865638;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
MultiplyNode_799816_Output = unity_multiply_half (UV_8086_UV, half4 (5,5,5,5));\r\n\t\t\tfloat4
|
|
Texture_789994_Output = tex2D (Texture_789994, MultiplyNode_799816_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_801870_Output = unity_multiply_half (UV_8086_UV, half4 (0.5,0.5,0.5,0.5));\r\n\t\t\tfloat4
|
|
Texture_821680_Output = tex2D (Texture_821680, MultiplyNode_801870_Output.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_854616_Output = unity_multiply_half (UV_8086_UV, half4 (20,20,20,20));\r\n\t\t\tfloat4
|
|
Texture_865638_Output = tex2D (Texture_865638, MultiplyNode_854616_Output.xy);\r\n\t\t\thalf4
|
|
AddNode_814996_Output = unity_add_half (unity_add_half (unity_add_half (Texture_789994_Output,
|
|
Texture_821680_Output), Texture_865638_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
DivNode_877630_Output = unity_div_half (AddNode_814996_Output, half4 (2,2,2,2));\r\n\t\t\thalf4
|
|
MultiplyNode_1103802_Output = unity_multiply_half (unity_multiply_half (AddNode_8104_Output,
|
|
DivNode_877630_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 ColorizeNode_1142858_Output
|
|
= unity_colorize_half(MultiplyNode_1103802_Output, half4(0.75, 0.1599265,
|
|
0.1599265, 1), 0.4107143, 2, 2.585714);\r\n\t\t\thalf4 ColorNode_8094 =
|
|
half4 (0.2867647, 0.2867647, 0.2867647, 0);\r\n\t\t\thalf4 V4Node_8090 =
|
|
half4 (0.88, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorizeNode_1142858_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
245386:
|
|
m_Code: "#line 261 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
ColorNode_8094 = half4 (0.2573529, 0.2573529, 0.2573529, 0);\r\n\t\t\thalf4
|
|
V4Node_8090 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Specular
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n
|
|
\ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n
|
|
\ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion
|
|
= 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
245537:
|
|
m_Code: "#line 260 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.710345, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (1, 0, 0, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\thalf4
|
|
ColorNode_8094 = half4 (0.2573529, 0.2573529, 0.2573529, 0);\r\n\t\t\thalf4
|
|
V4Node_8090 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_8094;\r\n\t\t\to.Smoothness = V4Node_8090;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
247400:
|
|
m_Code: "#line 245 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.566, 0, 0, 0);\r\n\t\t\thalf4 V4Node_12674 =
|
|
half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
247945:
|
|
m_Code: "#line 242 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\to.Normal =
|
|
Texture_5626_Output;\r\n\t\t\thalf4 ColorNode_3874 = half4 (0.028, 0.02448422,
|
|
0.02196093, 1);\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353, 0.4632353,
|
|
0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo
|
|
= ColorNode_3874;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput
|
|
metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo
|
|
= o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
249023:
|
|
m_Code: "#line 245 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.2279412, 0.2279412, 0.2279412, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
249241:
|
|
m_Code: "#pragma vertex vert\n#pragma fragment frag\n#include \"UnityShaderVariables.cginc\"\n#pragma
|
|
multi_compile_fog\n#include \"UnityCG.cginc\"\n#define USING_FOG (defined(FOG_LINEAR)
|
|
|| defined(FOG_EXP) || defined(FOG_EXP2))\n\n// uniforms\nfloat4 unity_Lightmap_ST;\nfloat4
|
|
_MainTex_ST;\n\n// vertex shader input data\nstruct appdata {\n float3
|
|
pos : POSITION;\n float3 uv1 : TEXCOORD1;\n float3 uv0 : TEXCOORD0;\n};\n\n//
|
|
vertex-to-fragment interpolators\nstruct v2f {\n fixed4 color : COLOR0;\n
|
|
\ float2 uv0 : TEXCOORD0;\n float2 uv1 : TEXCOORD1;\n float2 uv2 : TEXCOORD2;\n
|
|
\ #if USING_FOG\n fixed fog : TEXCOORD3;\n #endif\n float4 pos : SV_POSITION;\n};\n\n//
|
|
vertex shader\nv2f vert (appdata IN) {\n v2f o;\n half4 color = half4(0,0,0,1.1);\n
|
|
\ float3 eyePos = mul (UNITY_MATRIX_MV, float4(IN.pos,1)).xyz;\n half3
|
|
viewDir = 0.0;\n o.color = saturate(color);\n // compute texture coordinates\n
|
|
\ o.uv0 = IN.uv1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n o.uv1
|
|
= IN.uv1.xy * unity_Lightmap_ST.xy + unity_Lightmap_ST.zw;\n o.uv2 = IN.uv0.xy
|
|
* _MainTex_ST.xy + _MainTex_ST.zw;\n // fog\n #if USING_FOG\n float
|
|
fogCoord = length(eyePos.xyz); // radial fog distance\n UNITY_CALC_FOG_FACTOR(fogCoord);\n
|
|
\ o.fog = saturate(unityFogFactor);\n #endif\n // transform position\n
|
|
\ o.pos = mul(UNITY_MATRIX_MVP, float4(IN.pos,1));\n return o;\n}\n\n//
|
|
textures\nsampler2D _MainTex;\nfixed4 _Color;\n\n// fragment shader\nfixed4
|
|
frag (v2f IN) : SV_Target {\n fixed4 col;\n fixed4 tex, tmp0, tmp1, tmp2;\n
|
|
\ // SetTexture #0\n tex = UNITY_SAMPLE_TEX2D (unity_Lightmap, IN.uv0.xy);\n
|
|
\ col = tex * tex.a;\n col *= 2;\n // SetTexture #1\n tex = UNITY_SAMPLE_TEX2D
|
|
(unity_Lightmap, IN.uv1.xy);\n col = col * _Color;\n // SetTexture #2\n
|
|
\ tex = tex2D (_MainTex, IN.uv2.xy);\n col.rgb = tex * col;\n col *= 4;\n
|
|
\ col.a = fixed4(1,1,1,1).a;\n // fog\n #if USING_FOG\n col.rgb = lerp
|
|
(unity_FogColor.rgb, col.rgb, IN.fog);\n #endif\n return col;\n}\n\n//
|
|
texenvs\n//! TexEnv0: 02010105 02010105 [unity_Lightmap] usesLightmapST\n//!
|
|
TexEnv1: 01000102 01000102 [unity_Lightmap] [_Color]\n//! TexEnv2: 04010100
|
|
01060004 [_MainTex] [ffffffff]\n"
|
|
m_AssetPath:
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 00000000000000000000000000000000
|
|
m_IsGLSL: 0
|
|
m_FromOther: 1
|
|
m_VariantsUser0:
|
|
- - _
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - _
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 0
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2: []
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords:
|
|
249766:
|
|
m_Code: "#line 219 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal)
|
|
data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original
|
|
surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line
|
|
25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\n\n\t\tsampler2D Texture_8096;\r\n\n\n\t\tstruct
|
|
Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout
|
|
appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\to.Emission
|
|
= Texture_8096_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float3 worldPos : TEXCOORD0;\n half4 custompack0 : TEXCOORD1;
|
|
// meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v)
|
|
{\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ o.worldPos = worldPos;\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
250099:
|
|
m_Code: "#line 246 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_114502;\r\n\t\tsampler2D Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\tfloat4
|
|
Texture_114502_Output = tex2D (Texture_114502, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
MultiplyNode_85320_Output = unity_multiply_half (unity_multiply_half (Texture_114502_Output,
|
|
_SinTime), half4 (1,1,1,1));\r\n\t\t\thalf4 ColorNode_30964 = half4 (0.4632353,
|
|
0.4632353, 0.4632353, 0);\r\n\t\t\thalf4 V4Node_12674 = half4 (0.2, 0.2,
|
|
0.2, 0.2);\r\n\t\t\to.Albedo = MultiplyNode_85320_Output;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
250288:
|
|
m_Code: "#line 244 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 V4Node_12674 = half4
|
|
(0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n
|
|
\ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw
|
|
= customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex,
|
|
v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n
|
|
\ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal
|
|
= UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n
|
|
\ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3
|
|
worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0
|
|
= float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n
|
|
\ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n
|
|
\ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n
|
|
\ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3
|
|
worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef
|
|
USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n
|
|
\ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef
|
|
UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n
|
|
\ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission
|
|
= 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex
|
|
= fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput
|
|
metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo
|
|
= o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
250322:
|
|
m_Code: "#line 240 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: no\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define
|
|
UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal)
|
|
data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original
|
|
surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line
|
|
25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\tfloat4 Texture_8096_Output = tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4
|
|
SubtractNode_8098_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0, 0.1724138, 1, 0);\r\n\t\t\thalf4 MultiplyNode_8100_Output
|
|
= unity_multiply_half (SubtractNode_8098_Output, ColorNode_8102);\r\n\t\t\thalf4
|
|
ColorNode_8082 = half4 (0, 1, 0.006896496, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output
|
|
= unity_multiply_half (unity_multiply_half (Texture_8096_Output, ColorNode_8082),
|
|
half4 (1,1,1,1));\r\n\t\t\thalf4 AddNode_8104_Output = unity_add_half (unity_add_half
|
|
(MultiplyNode_8100_Output, MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Emission
|
|
= AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float3 worldPos : TEXCOORD0;\n half4 custompack0 : TEXCOORD1;
|
|
// meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v)
|
|
{\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ o.worldPos = worldPos;\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf
|
|
(v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n
|
|
\ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0
|
|
= IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n
|
|
\ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n
|
|
\ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
254118:
|
|
m_Code: "#line 238 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\to.Normal =
|
|
Texture_5626_Output;\r\n\t\t\thalf4 ColorNode_3874 = half4 (0.1568682, 0.1371712,
|
|
0.1230346, 1);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
254581:
|
|
m_Code: "#line 256 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline
|
|
half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn
|
|
arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_add_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 + arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_8096;\r\n\t\tsampler2D Texture_8084;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4
|
|
meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_8086_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8088_Output
|
|
= unity_multiply_half (UV_8086_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8084_Output
|
|
= half4(UnpackNormal(tex2D (Texture_8084, MultiplyNode_8088_Output.xy)),
|
|
0);\r\n\t\t\to.Normal = Texture_8084_Output;\r\n\t\t\tfloat4 Texture_8096_Output
|
|
= tex2D (Texture_8096, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8098_Output
|
|
= unity_subtract_half (half4 (1,1,1,1), Texture_8096_Output);\r\n\t\t\thalf4
|
|
ColorNode_8102 = half4 (0.9632353, 0.3187176, 0.7054285, 0);\r\n\t\t\thalf4
|
|
MultiplyNode_8100_Output = unity_multiply_half (SubtractNode_8098_Output,
|
|
ColorNode_8102);\r\n\t\t\thalf4 ColorNode_8082 = half4 (0.7121705, 0.05147058,
|
|
1, 1);\r\n\t\t\thalf4 MultiplyNode_8106_Output = unity_multiply_half (unity_multiply_half
|
|
(Texture_8096_Output, ColorNode_8082), half4 (1,1,1,1));\r\n\t\t\thalf4
|
|
AddNode_8104_Output = unity_add_half (unity_add_half (MultiplyNode_8100_Output,
|
|
MultiplyNode_8106_Output), half4 (0,0,0,0));\r\n\t\t\to.Albedo = AddNode_8104_Output;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/UnityShaderEditor/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
260622:
|
|
m_Code: "#line 243 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.4632353, 0.4632353, 0.4632353, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Metallic
|
|
= ColorNode_30964;\r\n\t\t\to.Smoothness = V4Node_12674;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
261522:
|
|
m_Code: "#line 245 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR
|
|
FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// vertex modifier: 'vert'\n//
|
|
writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: YES\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually
|
|
used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include
|
|
\"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0;
|
|
half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal)
|
|
reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal)
|
|
fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal),
|
|
dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma
|
|
target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma
|
|
glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4
|
|
arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D
|
|
Texture_5626;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid
|
|
vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0
|
|
= v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard
|
|
o) \n\t\t{\n\t\t\thalf4 UV_7070_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_7654_Output
|
|
= unity_multiply_half (UV_7070_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_5626_Output
|
|
= tex2D (Texture_5626, MultiplyNode_7654_Output.xy);\r\n\t\t\thalf4 UnpackNormalNode_17370_Normal
|
|
= half4(UnpackNormal (Texture_5626_Output), 0);\r\n\t\t\to.Normal = UnpackNormalNode_17370_Normal;\r\n\t\t\thalf4
|
|
ColorNode_3874 = half4 (0.1568682, 0.1371712, 0.1230346, 1);\r\n\t\t\thalf4
|
|
ColorNode_30964 = half4 (0.1323529, 0.1323529, 0.1323529, 0);\r\n\t\t\thalf4
|
|
V4Node_12674 = half4 (0.2, 0.2, 0.2, 0.2);\r\n\t\t\to.Albedo = ColorNode_3874;\r\n\t\t\to.Emission
|
|
= ColorNode_30964;\r\n\t\t\to.Metallic = ColorNode_30964;\r\n\t\t\to.Smoothness
|
|
= V4Node_12674;\r\n\t\t\to.Occlusion = ColorNode_30964;\r\n\n\t\t}\n\t\t\n#include
|
|
\"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n
|
|
\ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0
|
|
: TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full
|
|
v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n
|
|
\ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World,
|
|
v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n
|
|
\ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign
|
|
= v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal =
|
|
cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x,
|
|
worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y,
|
|
worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z,
|
|
worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment
|
|
shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack
|
|
data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x
|
|
= 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w,
|
|
IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3
|
|
lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3
|
|
lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n
|
|
\ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard
|
|
o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n
|
|
\ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n //
|
|
call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/Graphs
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 2
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
267886:
|
|
m_Code: "#line 171 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants
|
|
FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n//
|
|
Surface shader code generated based on:\n// writes to per-pixel normal:
|
|
no\n// writes to emission: no\n// needs world space reflection vector: no\n//
|
|
needs world space normal vector: no\n// needs screen space position: no\n//
|
|
needs world space position: no\n// needs view direction: no\n// needs world
|
|
space view direction: no\n// needs world space position for lighting: YES\n//
|
|
needs world space view direction for lighting: no\n// needs world space
|
|
view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE:
|
|
no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from
|
|
normal: YES\n// 1 texcoords actually used\n// float2 _MainTex\n#define
|
|
UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n\n#define
|
|
INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define
|
|
WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include
|
|
\"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 8
|
|
\"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//#pragma
|
|
surface surf Lambert\n\nsampler2D _MainTex;\nfixed4 _Color;\n\nstruct Input
|
|
{\n\tfloat2 uv_MainTex;\n};\n\nvoid surf (Input IN, inout SurfaceOutput
|
|
o) {\n\tfixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;\n\to.Albedo
|
|
= c.rgb;\n\to.Alpha = c.a;\n}\n\n\n// vertex-to-fragment interpolation data\nstruct
|
|
v2f_surf {\n float4 pos : SV_POSITION;\n float2 pack0 : TEXCOORD0; //
|
|
_MainTex\n half3 worldNormal : TEXCOORD1;\n float3 worldPos : TEXCOORD2;\n
|
|
\ float4 lmap : TEXCOORD3;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ half3 sh : TEXCOORD4; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n
|
|
\ float4 lmapFadePos : TEXCOORD4;\n #endif\n#endif\n};\nfloat4 _MainTex_ST;\n\n//
|
|
vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n o.pack0.xy = TRANSFORM_TEX(v.texcoord,
|
|
_MainTex);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3
|
|
worldNormal = UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n
|
|
\ o.worldNormal = worldNormal;\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw
|
|
= v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n
|
|
\ o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy
|
|
* unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n
|
|
\ o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz)
|
|
* unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV,
|
|
v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n
|
|
\ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh
|
|
= ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef
|
|
LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n//
|
|
fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse
|
|
: SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4
|
|
outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n //
|
|
prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.uv_MainTex.x = 1.0;\n surfIN.uv_MainTex = IN.pack0.xy;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutput
|
|
o = (SurfaceOutput)0;\n #else\n SurfaceOutput o;\n #endif\n o.Albedo
|
|
= 0.0;\n o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Gloss
|
|
= 0.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n
|
|
\ normalWorldVertex = IN.worldNormal;\n\n // call surface function\n surf
|
|
(surfIN, o);\nfixed3 originalNormal = o.Normal;\n half atten = 1;\n\n //
|
|
Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI,
|
|
gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color
|
|
= 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal,
|
|
gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n
|
|
\ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n
|
|
\ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.atten
|
|
= atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV
|
|
= IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n
|
|
\ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n
|
|
\ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1]
|
|
= unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n
|
|
\ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for
|
|
blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0]
|
|
= unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n
|
|
\ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] =
|
|
unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n
|
|
\ #endif\n LightingLambert_GI(o, giInput, gi);\n\n // call lighting function
|
|
to output g-buffer\n outEmission = LightingLambert_Deferred (o, gi, outDiffuse,
|
|
outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb
|
|
= exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n"
|
|
m_AssetPath: Assets/DefaultResourcesExtra
|
|
m_PlatformMask: 4294958079
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 31f47922f5eab9ea49e6483203005346
|
|
m_IsGLSL: 0
|
|
m_FromOther: 1
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin1:
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- HDR_LIGHT_PREPASS_OFF
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_OFF
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_OFF
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_OFF
|
|
- UNITY_HDR_ON
|
|
- - LIGHTMAP_ON
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
- UNITY_HDR_ON
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 0
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE
|
|
DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF
|
|
LIGHTMAP_ON UNITY_HDR_ON
|
|
335014:
|
|
m_Code: "#line 171 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//
|
|
compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma
|
|
skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include
|
|
\"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n//
|
|
writes to per-pixel normal: no\n// writes to emission: no\n// needs world
|
|
space reflection vector: no\n// needs world space normal vector: no\n//
|
|
needs screen space position: no\n// needs world space position: no\n// needs
|
|
view direction: no\n// needs world space view direction: no\n// needs world
|
|
space position for lighting: YES\n// needs world space view direction for
|
|
lighting: no\n// needs world space view direction for lightmaps: no\n//
|
|
needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix
|
|
to pixel shader: no\n// reads from normal: no\n// 1 texcoords actually used\n//
|
|
\ float2 _MainTex\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include
|
|
\"Lighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal)
|
|
data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original
|
|
surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line
|
|
8 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//#pragma
|
|
surface surf Lambert\n\nsampler2D _MainTex;\nfixed4 _Color;\n\nstruct Input
|
|
{\n\tfloat2 uv_MainTex;\n};\n\nvoid surf (Input IN, inout SurfaceOutput
|
|
o) {\n\tfixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;\n\to.Albedo
|
|
= c.rgb;\n\to.Alpha = c.a;\n}\n\n#include \"UnityMetaPass.cginc\"\n\n//
|
|
vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos :
|
|
SV_POSITION;\n float2 pack0 : TEXCOORD0; // _MainTex\n float3 worldPos
|
|
: TEXCOORD1;\n};\nfloat4 _MainTex_ST;\n\n// vertex shader\nv2f_surf vert_surf
|
|
(appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n
|
|
\ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy,
|
|
unity_LightmapST, unity_DynamicLightmapST);\n o.pack0.xy = TRANSFORM_TEX(v.texcoord,
|
|
_MainTex);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3
|
|
worldNormal = UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n
|
|
\ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target
|
|
{\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n
|
|
\ surfIN.uv_MainTex.x = 1.0;\n surfIN.uv_MainTex = IN.pack0.xy;\n float3
|
|
worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir
|
|
= normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir
|
|
= _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutput
|
|
o = (SurfaceOutput)0;\n #else\n SurfaceOutput o;\n #endif\n o.Albedo
|
|
= 0.0;\n o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Gloss
|
|
= 0.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface
|
|
function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput,
|
|
metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n
|
|
\ return UnityMetaFragment(metaIN);\n}\n\n"
|
|
m_AssetPath: Assets/DefaultResourcesExtra
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 2b0e47b46c285518e5aaa814648e77e6
|
|
m_IsGLSL: 0
|
|
m_FromOther: 1
|
|
m_VariantsUser0: []
|
|
m_VariantsUser1: []
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 0
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2:
|
|
- SHADOWS_SOFT
|
|
- DIRLIGHTMAP_COMBINED
|
|
- DIRLIGHTMAP_SEPARATE
|
|
- DYNAMICLIGHTMAP_ON
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords:
|
|
m_BuiltinKeywords:
|
|
8744087:
|
|
m_Code: "#pragma vertex vert\n#pragma fragment frag\n#include \"UnityShaderVariables.cginc\"\n#pragma
|
|
multi_compile_fog\n#include \"UnityCG.cginc\"\n#define USING_FOG (defined(FOG_LINEAR)
|
|
|| defined(FOG_EXP) || defined(FOG_EXP2))\n\n// uniforms\n\n// vertex shader
|
|
input data\nstruct appdata {\n float3 pos : POSITION;\n half4 color :
|
|
COLOR;\n};\n\n// vertex-to-fragment interpolators\nstruct v2f {\n fixed4
|
|
color : COLOR0;\n #if USING_FOG\n fixed fog : TEXCOORD0;\n #endif\n
|
|
\ float4 pos : SV_POSITION;\n};\n\n// vertex shader\nv2f vert (appdata IN)
|
|
{\n v2f o;\n half4 color = IN.color;\n float3 eyePos = mul (UNITY_MATRIX_MV,
|
|
float4(IN.pos,1)).xyz;\n half3 viewDir = 0.0;\n o.color = saturate(color);\n
|
|
\ // compute texture coordinates\n // fog\n #if USING_FOG\n float fogCoord
|
|
= length(eyePos.xyz); // radial fog distance\n UNITY_CALC_FOG_FACTOR(fogCoord);\n
|
|
\ o.fog = saturate(unityFogFactor);\n #endif\n // transform position\n
|
|
\ o.pos = mul(UNITY_MATRIX_MVP, float4(IN.pos,1));\n return o;\n}\n\n//
|
|
fragment shader\nfixed4 frag (v2f IN) : SV_Target {\n fixed4 col;\n col
|
|
= IN.color;\n // fog\n #if USING_FOG\n col.rgb = lerp (unity_FogColor.rgb,
|
|
col.rgb, IN.fog);\n #endif\n return col;\n}\n"
|
|
m_AssetPath:
|
|
m_PlatformMask: 4294967295
|
|
m_TypesMask: 3
|
|
m_IncludesHash:
|
|
serializedVersion: 2
|
|
Hash: 00000000000000000000000000000000
|
|
m_IsGLSL: 0
|
|
m_FromOther: 0
|
|
m_VariantsUser0:
|
|
- - _
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser1:
|
|
- - _
|
|
- FOG_LINEAR
|
|
- FOG_EXP
|
|
- FOG_EXP2
|
|
m_VariantsUser2: []
|
|
m_VariantsUser3: []
|
|
m_VariantsUser4: []
|
|
m_VariantsUser5: []
|
|
m_VariantsBuiltin0: []
|
|
m_VariantsBuiltin1: []
|
|
m_VariantsBuiltin2: []
|
|
m_VariantsBuiltin3: []
|
|
m_VariantsBuiltin4: []
|
|
m_VariantsBuiltin5: []
|
|
m_Target: 0
|
|
m_TargetVariants0: []
|
|
m_TargetVariants1: []
|
|
m_TargetVariants2: []
|
|
m_TargetVariants3: []
|
|
m_TargetVariants4: []
|
|
m_TargetVariants5: []
|
|
m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR
|
|
m_BuiltinKeywords:
|
|
m_MeshComponentsFromSnippets: 187
|
|
m_HasSurfaceShaders: 1
|
|
m_HasFixedFunctionShaders: 1
|
|
--- !u!114 &11400000
|
|
MonoBehaviour:
|
|
m_ObjectHideFlags: 0
|
|
m_PrefabParentObject: {fileID: 0}
|
|
m_PrefabInternal: {fileID: 0}
|
|
m_GameObject: {fileID: 0}
|
|
m_Enabled: 1
|
|
m_EditorHideFlags: 0
|
|
m_Script: {fileID: 11500000, guid: ef5b9f0785847b04983f907c7f016a36, type: 3}
|
|
m_Name: SimpleMetal
|
|
m_EditorClassIdentifier:
|
|
m_MaterialProperties: {fileID: 11468610}
|
|
m_MaterialOptions: {fileID: 11461844}
|
|
m_PixelGraph: {fileID: 11469770}
|
|
m_Shader: {fileID: 4843632}
|
|
--- !u!114 &11420072
|
|
MonoBehaviour:
|
|
m_ObjectHideFlags: 1
|
|
m_PrefabParentObject: {fileID: 0}
|
|
m_PrefabInternal: {fileID: 0}
|
|
m_GameObject: {fileID: 0}
|
|
m_Enabled: 1
|
|
m_EditorHideFlags: 0
|
|
m_Script: {fileID: 11500000, guid: 5defdf1d05185a343bfebb2cdd827bd6, type: 3}
|
|
m_Name: Texture
|
|
m_EditorClassIdentifier:
|
|
m_Slots:
|
|
- type: 1
|
|
m_Title: Output
|
|
m_Name: Output
|
|
m_DataTypeString:
|
|
- type: 0
|
|
m_Title: UV
|
|
m_Name: UV
|
|
m_DataTypeString:
|
|
m_Properties: []
|
|
m_GenericTypeString:
|
|
color: 0
|
|
style: node
|
|
position:
|
|
serializedVersion: 2
|
|
x: 264
|
|
y: 48
|
|
width: 213
|
|
height: 139
|
|
showEmptySlots: 1
|
|
m_SlotDefaultValues:
|
|
- m_DefaultVector: {x: 1, y: 1, z: 1, w: 1}
|
|
m_Editable: 1
|
|
m_SlotName: Output
|
|
m_Node: {fileID: 11420072}
|
|
- m_DefaultVector: {x: 1, y: 1, z: 1, w: 1}
|
|
m_Editable: 1
|
|
m_SlotName: UV
|
|
m_Node: {fileID: 11420072}
|
|
m_PrecisionNames:
|
|
- half
|
|
m_BoundProperty: {fileID: 0}
|
|
m_DefaultTexture: {fileID: 2800000, guid: 22908ad6783998142a0597f6ea5fc501, type: 3}
|
|
m_TextureType: 3
|
|
--- !u!114 &11427048
|
|
MonoBehaviour:
|
|
m_ObjectHideFlags: 1
|
|
m_PrefabParentObject: {fileID: 0}
|
|
m_PrefabInternal: {fileID: 0}
|
|
m_GameObject: {fileID: 0}
|
|
m_Enabled: 1
|
|
m_EditorHideFlags: 0
|
|
m_Script: {fileID: 11500000, guid: a50d0c305a31cc547a53206afda6204e, type: 3}
|
|
m_Name: Tint
|
|
m_EditorClassIdentifier:
|
|
m_PropertyDescription: Tint Color
|
|
m_DefaultColor: {r: 0.6666667, g: 0.6666667, b: 0.6666667, a: 1}
|
|
--- !u!114 &11450928
|
|
MonoBehaviour:
|
|
m_ObjectHideFlags: 1
|
|
m_PrefabParentObject: {fileID: 0}
|
|
m_PrefabInternal: {fileID: 0}
|
|
m_GameObject: {fileID: 0}
|
|
m_Enabled: 1
|
|
m_EditorHideFlags: 0
|
|
m_Script: {fileID: 11500000, guid: 38072936174514040b3e08813a3ec4e7, type: 3}
|
|
m_Name: PixelMaster
|
|
m_EditorClassIdentifier:
|
|
m_Slots:
|
|
- type: 0
|
|
m_Title: Albedo
|
|
m_Name: Albedo
|
|
m_DataTypeString:
|
|
- type: 0
|
|
m_Title: Normal
|
|
m_Name: Normal
|
|
m_DataTypeString:
|
|
- type: 0
|
|
m_Title: Specular
|
|
m_Name: Specular
|
|
m_DataTypeString:
|
|
- type: 0
|
|
m_Title: Emission
|
|
m_Name: Emission
|
|
m_DataTypeString:
|
|
- type: 0
|
|
m_Title: Metallic
|
|
m_Name: Metallic
|
|
m_DataTypeString:
|
|
- type: 0
|
|
m_Title: Smoothness
|
|
m_Name: Smoothness
|
|
m_DataTypeString:
|
|
- type: 0
|
|
m_Title: Occlusion
|
|
m_Name: Occlusion
|
|
m_DataTypeString:
|
|
- type: 0
|
|
m_Title: Alpha
|
|
m_Name: Alpha
|
|
m_DataTypeString:
|
|
m_Properties: []
|
|
m_GenericTypeString:
|
|
color: 0
|
|
style: node
|
|
position:
|
|
serializedVersion: 2
|
|
x: 852
|
|
y: 120
|
|
width: 310
|
|
height: 445
|
|
showEmptySlots: 1
|
|
m_SlotDefaultValues:
|
|
- m_DefaultVector: {x: 1, y: 1, z: 1, w: 1}
|
|
m_Editable: 1
|
|
m_SlotName: Albedo
|
|
m_Node: {fileID: 11450928}
|
|
- m_DefaultVector: {x: 1, y: 1, z: 1, w: 1}
|
|
m_Editable: 1
|
|
m_SlotName: Normal
|
|
m_Node: {fileID: 11450928}
|
|
- m_DefaultVector: {x: 1, y: 1, z: 1, w: 1}
|
|
m_Editable: 1
|
|
m_SlotName: Specular
|
|
m_Node: {fileID: 11450928}
|
|
- m_DefaultVector: {x: 1, y: 1, z: 1, w: 1}
|
|
m_Editable: 1
|
|
m_SlotName: Emission
|
|
m_Node: {fileID: 11450928}
|
|
- m_DefaultVector: {x: 1, y: 1, z: 1, w: 1}
|
|
m_Editable: 1
|
|
m_SlotName: Metallic
|
|
m_Node: {fileID: 11450928}
|
|
- m_DefaultVector: {x: 1, y: 1, z: 1, w: 1}
|
|
m_Editable: 1
|
|
m_SlotName: Smoothness
|
|
m_Node: {fileID: 11450928}
|
|
- m_DefaultVector: {x: 1, y: 1, z: 1, w: 1}
|
|
m_Editable: 1
|
|
m_SlotName: Occlusion
|
|
m_Node: {fileID: 11450928}
|
|
- m_DefaultVector: {x: 1, y: 1, z: 1, w: 1}
|
|
m_Editable: 1
|
|
m_SlotName: Alpha
|
|
m_Node: {fileID: 11450928}
|
|
m_PrecisionNames:
|
|
- half
|
|
m_LightFunctionClassName: UnityEditor.MaterialGraph.PBRMetalicLightFunction
|
|
--- !u!114 &11452828
|
|
MonoBehaviour:
|
|
m_ObjectHideFlags: 1
|
|
m_PrefabParentObject: {fileID: 0}
|
|
m_PrefabInternal: {fileID: 0}
|
|
m_GameObject: {fileID: 0}
|
|
m_Enabled: 1
|
|
m_EditorHideFlags: 0
|
|
m_Script: {fileID: 11500000, guid: 325c0e24c20746345a5f90dc201973f8, type: 3}
|
|
m_Name: ColorNode
|
|
m_EditorClassIdentifier:
|
|
m_Slots:
|
|
- type: 1
|
|
m_Title: Color
|
|
m_Name: Color
|
|
m_DataTypeString:
|
|
m_Properties: []
|
|
m_GenericTypeString:
|
|
color: 0
|
|
style: node
|
|
position:
|
|
serializedVersion: 2
|
|
x: 420
|
|
y: -60
|
|
width: 58
|
|
height: 80
|
|
showEmptySlots: 1
|
|
m_SlotDefaultValues:
|
|
- m_DefaultVector: {x: 1, y: 1, z: 1, w: 1}
|
|
m_Editable: 1
|
|
m_SlotName: Color
|
|
m_Node: {fileID: 11452828}
|
|
m_PrecisionNames:
|
|
- half
|
|
m_BoundProperty: {fileID: 11427048}
|
|
m_Color: {r: 0.6666667, g: 0.6666667, b: 0.6666667, a: 1}
|
|
--- !u!114 &11454050
|
|
MonoBehaviour:
|
|
m_ObjectHideFlags: 1
|
|
m_PrefabParentObject: {fileID: 0}
|
|
m_PrefabInternal: {fileID: 0}
|
|
m_GameObject: {fileID: 0}
|
|
m_Enabled: 1
|
|
m_EditorHideFlags: 0
|
|
m_Script: {fileID: 11500000, guid: c740b99e5a743e84d8030d697cc6d0a1, type: 3}
|
|
m_Name: SplatNode
|
|
m_EditorClassIdentifier:
|
|
m_Slots:
|
|
- type: 1
|
|
m_Title: Output
|
|
m_Name: Output
|
|
m_DataTypeString:
|
|
- type: 0
|
|
m_Title: Input
|
|
m_Name: Input
|
|
m_DataTypeString:
|
|
m_Properties: []
|
|
m_GenericTypeString:
|
|
color: 0
|
|
style: node
|
|
position:
|
|
serializedVersion: 2
|
|
x: 588
|
|
y: 384
|
|
width: 213
|
|
height: 137
|
|
showEmptySlots: 1
|
|
m_SlotDefaultValues:
|
|
- m_DefaultVector: {x: 1, y: 1, z: 1, w: 1}
|
|
m_Editable: 1
|
|
m_SlotName: Output
|
|
m_Node: {fileID: 11454050}
|
|
- m_DefaultVector: {x: 1, y: 1, z: 1, w: 1}
|
|
m_Editable: 1
|
|
m_SlotName: Input
|
|
m_Node: {fileID: 11454050}
|
|
m_PrecisionNames:
|
|
- half
|
|
m_SwizzleChannel: 3
|
|
--- !u!114 &11461844
|
|
MonoBehaviour:
|
|
m_ObjectHideFlags: 1
|
|
m_PrefabParentObject: {fileID: 0}
|
|
m_PrefabInternal: {fileID: 0}
|
|
m_GameObject: {fileID: 0}
|
|
m_Enabled: 1
|
|
m_EditorHideFlags: 0
|
|
m_Script: {fileID: 11500000, guid: edd99bcf0936ee84794c384dffae5501, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_SrcBlend: 0
|
|
m_DstBlend: 1
|
|
m_CullMode: 0
|
|
m_ZTest: 2
|
|
m_ZWrite: 0
|
|
m_RenderQueue: 1
|
|
m_RenderType: 0
|
|
m_ShadowPass: 0
|
|
m_FullForwardShadows: 0
|
|
m_NoAmbient: 0
|
|
m_NoVertexLights: 0
|
|
m_NoLightmaps: 0
|
|
m_NoDirLightmap: 0
|
|
m_NoForwardAdd: 0
|
|
m_ApproxView: 0
|
|
m_HalfAsView: 0
|
|
--- !u!114 &11465634
|
|
MonoBehaviour:
|
|
m_ObjectHideFlags: 1
|
|
m_PrefabParentObject: {fileID: 0}
|
|
m_PrefabInternal: {fileID: 0}
|
|
m_GameObject: {fileID: 0}
|
|
m_Enabled: 1
|
|
m_EditorHideFlags: 0
|
|
m_Script: {fileID: 11500000, guid: 5defdf1d05185a343bfebb2cdd827bd6, type: 3}
|
|
m_Name: Texture
|
|
m_EditorClassIdentifier:
|
|
m_Slots:
|
|
- type: 1
|
|
m_Title: Output
|
|
m_Name: Output
|
|
m_DataTypeString:
|
|
- type: 0
|
|
m_Title: UV
|
|
m_Name: UV
|
|
m_DataTypeString:
|
|
m_Properties: []
|
|
m_GenericTypeString:
|
|
color: 0
|
|
style: node
|
|
position:
|
|
serializedVersion: 2
|
|
x: 264
|
|
y: 204
|
|
width: 213
|
|
height: 139
|
|
showEmptySlots: 1
|
|
m_SlotDefaultValues:
|
|
- m_DefaultVector: {x: 1, y: 1, z: 1, w: 1}
|
|
m_Editable: 1
|
|
m_SlotName: Output
|
|
m_Node: {fileID: 11465634}
|
|
- m_DefaultVector: {x: 1, y: 1, z: 1, w: 1}
|
|
m_Editable: 1
|
|
m_SlotName: UV
|
|
m_Node: {fileID: 11465634}
|
|
m_PrecisionNames:
|
|
- half
|
|
m_BoundProperty: {fileID: 0}
|
|
m_DefaultTexture: {fileID: 2800000, guid: 1085d6f82e40b31428079b25ebee7d74, type: 3}
|
|
m_TextureType: 0
|
|
--- !u!114 &11468610
|
|
MonoBehaviour:
|
|
m_ObjectHideFlags: 1
|
|
m_PrefabParentObject: {fileID: 0}
|
|
m_PrefabInternal: {fileID: 0}
|
|
m_GameObject: {fileID: 0}
|
|
m_Enabled: 1
|
|
m_EditorHideFlags: 0
|
|
m_Script: {fileID: 11500000, guid: cab057dbd683f5244aed9bd721e1973e, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
m_ShaderProperties:
|
|
- {fileID: 11427048}
|
|
previewState: 0
|
|
--- !u!114 &11469770
|
|
MonoBehaviour:
|
|
m_ObjectHideFlags: 1
|
|
m_PrefabParentObject: {fileID: 0}
|
|
m_PrefabInternal: {fileID: 0}
|
|
m_GameObject: {fileID: 0}
|
|
m_Enabled: 1
|
|
m_EditorHideFlags: 0
|
|
m_Script: {fileID: 11500000, guid: 226075d30f5b2694caa212aa3e968148, type: 3}
|
|
m_Name:
|
|
m_EditorClassIdentifier:
|
|
nodes:
|
|
- {fileID: 11450928}
|
|
- {fileID: 11452828}
|
|
- {fileID: 11420072}
|
|
- {fileID: 11465634}
|
|
- {fileID: 11454050}
|
|
edges:
|
|
- m_FromNode: {fileID: 11452828}
|
|
m_ToNode: {fileID: 11450928}
|
|
m_FromSlotName: Color
|
|
m_ToSlotName: Albedo
|
|
color: {r: 1, g: 1, b: 1, a: 1}
|
|
- m_FromNode: {fileID: 11420072}
|
|
m_ToNode: {fileID: 11450928}
|
|
m_FromSlotName: Output
|
|
m_ToSlotName: Normal
|
|
color: {r: 1, g: 1, b: 1, a: 1}
|
|
- m_FromNode: {fileID: 11465634}
|
|
m_ToNode: {fileID: 11450928}
|
|
m_FromSlotName: Output
|
|
m_ToSlotName: Metallic
|
|
color: {r: 1, g: 1, b: 1, a: 1}
|
|
- m_FromNode: {fileID: 11465634}
|
|
m_ToNode: {fileID: 11454050}
|
|
m_FromSlotName: Output
|
|
m_ToSlotName: Input
|
|
color: {r: 1, g: 1, b: 1, a: 1}
|
|
- m_FromNode: {fileID: 11454050}
|
|
m_ToNode: {fileID: 11450928}
|
|
m_FromSlotName: Output
|
|
m_ToSlotName: Smoothness
|
|
color: {r: 1, g: 1, b: 1, a: 1}
|
|
m_InvalidEdges: []
|