u  DIRLIGHTMAP_COMBINEDEVALUATE_SH_VERTEX LIGHTMAP_ONLOD_FADE_CROSSFADE_ADDITIONAL_LIGHTS_LIGHT_COOKIES_MAIN_LIGHT_SHADOWS _NORMALMAP _OCCLUSIONMAP_SCREEN_SPACE_OCCLUSIONRu#ifdef VERTEX #version 300 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif uniform vec4 hlslcc_mtx4x4unity_MatrixVP[4]; uniform vec4 hlslcc_mtx4x4_MainLightWorldToShadow[20]; #if HLSLCC_ENABLE_UNIFORM_BUFFERS UNITY_BINDING(0) uniform UnityPerDraw { #endif UNITY_UNIFORM vec4 hlslcc_mtx4x4unity_ObjectToWorld[4]; UNITY_UNIFORM vec4 hlslcc_mtx4x4unity_WorldToObject[4]; UNITY_UNIFORM vec4 unity_LODFade; UNITY_UNIFORM mediump vec4 unity_WorldTransformParams; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RenderingLayer; UNITY_UNIFORM mediump vec4 unity_LightData; UNITY_UNIFORM mediump vec4 unity_LightIndices[2]; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_ProbesOcclusion; UNITY_UNIFORM mediump vec4 unity_SpecCube0_HDR; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SpecCube1_HDR; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_BoxMax; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_BoxMin; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_ProbePosition; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_BoxMax; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_BoxMin; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_ProbePosition; UNITY_UNIFORM vec4 unity_LightmapST; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_DynamicLightmapST; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SHAr; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SHAg; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SHAb; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SHBr; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SHBg; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SHBb; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SHC; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RendererBounds_Min; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RendererBounds_Max; UNITY_UNIFORM vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_MatrixPreviousM[4]; UNITY_UNIFORM vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_MatrixPreviousMI[4]; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_MotionVectorsParams; #if HLSLCC_ENABLE_UNIFORM_BUFFERS }; #endif #if HLSLCC_ENABLE_UNIFORM_BUFFERS UNITY_BINDING(1) uniform UnityPerMaterial { #endif UNITY_UNIFORM vec4 _BaseMap_ST; UNITY_UNIFORM vec4 Xhlslcc_UnusedX_DetailAlbedoMap_ST; UNITY_UNIFORM mediump vec4 _BaseColor; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_SpecColor; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_EmissionColor; UNITY_UNIFORM mediump float Xhlslcc_UnusedX_Cutoff; UNITY_UNIFORM mediump float _Smoothness; UNITY_UNIFORM mediump float _Metallic; UNITY_UNIFORM mediump float _BumpScale; UNITY_UNIFORM mediump float Xhlslcc_UnusedX_Parallax; UNITY_UNIFORM mediump float _OcclusionStrength; UNITY_UNIFORM mediump float Xhlslcc_UnusedX_ClearCoatMask; UNITY_UNIFORM mediump float Xhlslcc_UnusedX_ClearCoatSmoothness; UNITY_UNIFORM mediump float Xhlslcc_UnusedX_DetailAlbedoMapScale; UNITY_UNIFORM mediump float Xhlslcc_UnusedX_DetailNormalMapScale; UNITY_UNIFORM mediump float _Surface; #if HLSLCC_ENABLE_UNIFORM_BUFFERS }; #endif in highp vec4 in_POSITION0; in highp vec3 in_NORMAL0; in highp vec4 in_TANGENT0; in highp vec2 in_TEXCOORD0; in highp vec2 in_TEXCOORD1; out highp vec2 vs_TEXCOORD0; out mediump float vs_TEXCOORD5; out highp vec3 vs_TEXCOORD1; out highp vec3 vs_TEXCOORD2; out mediump vec4 vs_TEXCOORD3; out highp vec4 vs_TEXCOORD6; out highp vec2 vs_TEXCOORD8; vec4 u_xlat0; vec4 u_xlat1; float u_xlat6; bool u_xlatb6; void main() { vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _BaseMap_ST.xy + _BaseMap_ST.zw; u_xlat0.xyz = in_POSITION0.yyy * hlslcc_mtx4x4unity_ObjectToWorld[1].xyz; u_xlat0.xyz = hlslcc_mtx4x4unity_ObjectToWorld[0].xyz * in_POSITION0.xxx + u_xlat0.xyz; u_xlat0.xyz = hlslcc_mtx4x4unity_ObjectToWorld[2].xyz * in_POSITION0.zzz + u_xlat0.xyz; u_xlat0.xyz = u_xlat0.xyz + hlslcc_mtx4x4unity_ObjectToWorld[3].xyz; vs_TEXCOORD1.xyz = u_xlat0.xyz; u_xlat1.x = dot(in_NORMAL0.xyz, hlslcc_mtx4x4unity_WorldToObject[0].xyz); u_xlat1.y = dot(in_NORMAL0.xyz, hlslcc_mtx4x4unity_WorldToObject[1].xyz); u_xlat1.z = dot(in_NORMAL0.xyz, hlslcc_mtx4x4unity_WorldToObject[2].xyz); u_xlat6 = dot(u_xlat1.xyz, u_xlat1.xyz); u_xlat6 = max(u_xlat6, 1.17549435e-38); u_xlat6 = inversesqrt(u_xlat6); vs_TEXCOORD2.xyz = vec3(u_xlat6) * u_xlat1.xyz; u_xlat1.xyz = in_TANGENT0.yyy * hlslcc_mtx4x4unity_ObjectToWorld[1].xyz; u_xlat1.xyz = hlslcc_mtx4x4unity_ObjectToWorld[0].xyz * in_TANGENT0.xxx + u_xlat1.xyz; u_xlat1.xyz = hlslcc_mtx4x4unity_ObjectToWorld[2].xyz * in_TANGENT0.zzz + u_xlat1.xyz; u_xlat6 = dot(u_xlat1.xyz, u_xlat1.xyz); u_xlat6 = max(u_xlat6, 1.17549435e-38); u_xlat6 = inversesqrt(u_xlat6); u_xlat1.xyz = vec3(u_xlat6) * u_xlat1.xyz; u_xlatb6 = unity_WorldTransformParams.w>=0.0; u_xlat6 = (u_xlatb6) ? 1.0 : -1.0; u_xlat1.w = u_xlat6 * in_TANGENT0.w; vs_TEXCOORD3 = u_xlat1; vs_TEXCOORD5 = 0.0; u_xlat1.xyz = u_xlat0.yyy * hlslcc_mtx4x4_MainLightWorldToShadow[1].xyz; u_xlat1.xyz = hlslcc_mtx4x4_MainLightWorldToShadow[0].xyz * u_xlat0.xxx + u_xlat1.xyz; u_xlat1.xyz = hlslcc_mtx4x4_MainLightWorldToShadow[2].xyz * u_xlat0.zzz + u_xlat1.xyz; vs_TEXCOORD6.xyz = u_xlat1.xyz + hlslcc_mtx4x4_MainLightWorldToShadow[3].xyz; vs_TEXCOORD6.w = 0.0; vs_TEXCOORD8.xy = in_TEXCOORD1.xy * unity_LightmapST.xy + unity_LightmapST.zw; u_xlat1 = u_xlat0.yyyy * hlslcc_mtx4x4unity_MatrixVP[1]; u_xlat1 = hlslcc_mtx4x4unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1; u_xlat0 = hlslcc_mtx4x4unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1; gl_Position = u_xlat0 + hlslcc_mtx4x4unity_MatrixVP[3]; return; } #endif #ifdef FRAGMENT #version 300 es #ifdef GL_EXT_shader_texture_lod #extension GL_EXT_shader_texture_lod : enable #endif precision highp float; precision highp int; #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif vec4 ImmCB_0[4]; uniform vec4 _ScaledScreenParams; uniform vec2 _GlobalMipBias; uniform vec4 _MainLightPosition; uniform mediump vec4 _MainLightColor; uniform mediump vec4 _AmbientOcclusionParam; uniform mediump vec4 _AdditionalLightsCount; uniform vec4 _AdditionalLightsPosition[16]; uniform mediump vec4 _AdditionalLightsColor[16]; uniform mediump vec4 _AdditionalLightsAttenuation[16]; uniform mediump vec4 _AdditionalLightsSpotDir[16]; uniform vec3 _WorldSpaceCameraPos; uniform vec4 unity_OrthoParams; uniform vec4 hlslcc_mtx4x4unity_MatrixV[4]; uniform vec4 _MainLightShadowParams; uniform vec4 hlslcc_mtx4x4_MainLightWorldToLight[4]; uniform float _AdditionalLightsCookieEnableBits; uniform float _MainLightCookieTextureFormat; uniform float _AdditionalLightsCookieAtlasTextureFormat; uniform vec4 hlslcc_mtx4x4_AdditionalLightsWorldToLights[64]; uniform vec4 _AdditionalLightsCookieAtlasUVRects[16]; uniform float _AdditionalLightsLightTypes[16]; uniform float _DitheringTextureInvSize; #if HLSLCC_ENABLE_UNIFORM_BUFFERS UNITY_BINDING(0) uniform UnityPerDraw { #endif UNITY_UNIFORM vec4 hlslcc_mtx4x4unity_ObjectToWorld[4]; UNITY_UNIFORM vec4 hlslcc_mtx4x4unity_WorldToObject[4]; UNITY_UNIFORM vec4 unity_LODFade; UNITY_UNIFORM mediump vec4 unity_WorldTransformParams; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RenderingLayer; UNITY_UNIFORM mediump vec4 unity_LightData; UNITY_UNIFORM mediump vec4 unity_LightIndices[2]; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_ProbesOcclusion; UNITY_UNIFORM mediump vec4 unity_SpecCube0_HDR; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SpecCube1_HDR; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_BoxMax; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_BoxMin; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_ProbePosition; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_BoxMax; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_BoxMin; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_ProbePosition; UNITY_UNIFORM vec4 unity_LightmapST; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_DynamicLightmapST; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SHAr; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SHAg; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SHAb; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SHBr; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SHBg; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SHBb; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SHC; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RendererBounds_Min; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RendererBounds_Max; UNITY_UNIFORM vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_MatrixPreviousM[4]; UNITY_UNIFORM vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_MatrixPreviousMI[4]; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_MotionVectorsParams; #if HLSLCC_ENABLE_UNIFORM_BUFFERS }; #endif #if HLSLCC_ENABLE_UNIFORM_BUFFERS UNITY_BINDING(1) uniform UnityPerMaterial { #endif UNITY_UNIFORM vec4 _BaseMap_ST; UNITY_UNIFORM vec4 Xhlslcc_UnusedX_DetailAlbedoMap_ST; UNITY_UNIFORM mediump vec4 _BaseColor; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_SpecColor; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_EmissionColor; UNITY_UNIFORM mediump float Xhlslcc_UnusedX_Cutoff; UNITY_UNIFORM mediump float _Smoothness; UNITY_UNIFORM mediump float _Metallic; UNITY_UNIFORM mediump float _BumpScale; UNITY_UNIFORM mediump float Xhlslcc_UnusedX_Parallax; UNITY_UNIFORM mediump float _OcclusionStrength; UNITY_UNIFORM mediump float Xhlslcc_UnusedX_ClearCoatMask; UNITY_UNIFORM mediump float Xhlslcc_UnusedX_ClearCoatSmoothness; UNITY_UNIFORM mediump float Xhlslcc_UnusedX_DetailAlbedoMapScale; UNITY_UNIFORM mediump float Xhlslcc_UnusedX_DetailNormalMapScale; UNITY_UNIFORM mediump float _Surface; #if HLSLCC_ENABLE_UNIFORM_BUFFERS }; #endif UNITY_LOCATION(0) uniform mediump samplerCube unity_SpecCube0; UNITY_LOCATION(1) uniform mediump sampler2D unity_Lightmap; UNITY_LOCATION(2) uniform mediump sampler2D unity_LightmapInd; UNITY_LOCATION(3) uniform mediump sampler2D _BaseMap; UNITY_LOCATION(4) uniform mediump sampler2D _BumpMap; UNITY_LOCATION(5) uniform mediump sampler2D _OcclusionMap; UNITY_LOCATION(6) uniform mediump sampler2D _ScreenSpaceOcclusionTexture; UNITY_LOCATION(7) uniform mediump sampler2D _MainLightShadowmapTexture; UNITY_LOCATION(8) uniform mediump sampler2DShadow hlslcc_zcmp_MainLightShadowmapTexture; UNITY_LOCATION(9) uniform mediump sampler2D _MainLightCookieTexture; UNITY_LOCATION(10) uniform mediump sampler2D _AdditionalLightsCookieAtlasTexture; UNITY_LOCATION(11) uniform mediump sampler2D _DitheringTexture; in highp vec2 vs_TEXCOORD0; in highp vec3 vs_TEXCOORD1; in highp vec3 vs_TEXCOORD2; in mediump vec4 vs_TEXCOORD3; in highp vec4 vs_TEXCOORD6; in highp vec2 vs_TEXCOORD8; layout(location = 0) out mediump vec4 SV_Target0; float u_xlat0; mediump vec4 u_xlat16_0; mediump vec4 u_xlat16_1; vec3 u_xlat2; mediump vec2 u_xlat16_2; bool u_xlatb2; mediump vec3 u_xlat16_3; vec4 u_xlat4; mediump vec4 u_xlat16_4; mediump vec3 u_xlat16_5; vec3 u_xlat6; mediump vec4 u_xlat16_6; int u_xlati6; uint u_xlatu6; bool u_xlatb6; vec3 u_xlat7; mediump vec3 u_xlat16_8; mediump vec3 u_xlat16_9; mediump float u_xlat16_10; mediump vec3 u_xlat16_11; mediump vec3 u_xlat16_12; mediump vec2 u_xlat16_13; vec3 u_xlat14; vec3 u_xlat15; vec3 u_xlat16; vec3 u_xlat17; mediump vec3 u_xlat16_18; vec3 u_xlat19; mediump float u_xlat16_19; uint u_xlatu19; bvec2 u_xlatb19; mediump vec3 u_xlat16_22; vec3 u_xlat25; int u_xlati25; float u_xlat26; mediump vec3 u_xlat16_27; mediump float u_xlat16_29; mediump vec3 u_xlat16_32; float u_xlat38; bvec2 u_xlatb38; mediump float u_xlat16_41; vec2 u_xlat45; int u_xlati45; bool u_xlatb45; mediump float u_xlat16_48; vec2 u_xlat53; bvec2 u_xlatb53; float u_xlat57; mediump float u_xlat16_57; bool u_xlatb57; float u_xlat59; uint u_xlatu59; mediump float u_xlat16_62; float u_xlat63; int u_xlati64; mediump float u_xlat16_66; mediump float u_xlat16_67; mediump float u_xlat16_68; int u_xlati71; void main() { ImmCB_0[0] = vec4(1.0,0.0,0.0,0.0); ImmCB_0[1] = vec4(0.0,1.0,0.0,0.0); ImmCB_0[2] = vec4(0.0,0.0,1.0,0.0); ImmCB_0[3] = vec4(0.0,0.0,0.0,1.0); vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w); u_xlat16_0 = texture(_BaseMap, vs_TEXCOORD0.xy, _GlobalMipBias.x); u_xlat16_1 = u_xlat16_0 * _BaseColor; u_xlat16_2.xy = texture(_BumpMap, vs_TEXCOORD0.xy, _GlobalMipBias.x).yw; u_xlat16_3.xy = u_xlat16_2.yx * vec2(2.0, 2.0) + vec2(-1.0, -1.0); u_xlat16_41 = dot(u_xlat16_3.xy, u_xlat16_3.xy); u_xlat16_41 = min(u_xlat16_41, 1.0); u_xlat16_41 = (-u_xlat16_41) + 1.0; u_xlat16_41 = sqrt(u_xlat16_41); u_xlat16_4.z = max(u_xlat16_41, 1.00000002e-16); u_xlat16_4.xy = u_xlat16_3.xy * vec2(vec2(_BumpScale, _BumpScale)); u_xlat16_57 = texture(_OcclusionMap, vs_TEXCOORD0.xy, _GlobalMipBias.x).y; u_xlat16_3.x = (-_OcclusionStrength) + 1.0; u_xlat16_3.x = u_xlat16_57 * _OcclusionStrength + u_xlat16_3.x; u_xlat2.xy = hlslcc_FragCoord.xy * vec2(vec2(_DitheringTextureInvSize, _DitheringTextureInvSize)); u_xlat16_57 = texture(_DitheringTexture, u_xlat2.xy, _GlobalMipBias.x).w; u_xlatb2 = unity_LODFade.x>=0.0; u_xlat57 = (u_xlatb2) ? abs(u_xlat16_57) : -abs(u_xlat16_57); u_xlat57 = (-u_xlat57) + unity_LODFade.x; u_xlatb57 = u_xlat57<0.0; if(u_xlatb57){discard;} u_xlatb57 = unity_OrthoParams.w==0.0; u_xlat2.xyz = (-vs_TEXCOORD1.xyz) + _WorldSpaceCameraPos.xyz; u_xlat59 = dot(u_xlat2.xyz, u_xlat2.xyz); u_xlat59 = inversesqrt(u_xlat59); u_xlat2.xyz = vec3(u_xlat59) * u_xlat2.xyz; u_xlat16_5.x = (u_xlatb57) ? u_xlat2.x : hlslcc_mtx4x4unity_MatrixV[0].z; u_xlat16_5.y = (u_xlatb57) ? u_xlat2.y : hlslcc_mtx4x4unity_MatrixV[1].z; u_xlat16_5.z = (u_xlatb57) ? u_xlat2.z : hlslcc_mtx4x4unity_MatrixV[2].z; u_xlat2.xyz = vs_TEXCOORD2.zxy * vs_TEXCOORD3.yzx; u_xlat2.xyz = vs_TEXCOORD2.yzx * vs_TEXCOORD3.zxy + (-u_xlat2.xyz); u_xlat2.xyz = u_xlat2.xzy * vs_TEXCOORD3.www; u_xlat6.x = vs_TEXCOORD3.x; u_xlat6.y = u_xlat2.x; u_xlat6.z = vs_TEXCOORD2.x; u_xlat6.x = dot(u_xlat16_4.xyz, u_xlat6.xyz); u_xlat7.x = vs_TEXCOORD3.y; u_xlat7.y = u_xlat2.z; u_xlat7.z = vs_TEXCOORD2.y; u_xlat6.y = dot(u_xlat16_4.xyz, u_xlat7.xyz); u_xlat2.x = vs_TEXCOORD3.z; u_xlat2.z = vs_TEXCOORD2.z; u_xlat6.z = dot(u_xlat16_4.xyz, u_xlat2.xyz); u_xlat57 = dot(u_xlat6.xyz, u_xlat6.xyz); u_xlat57 = inversesqrt(u_xlat57); u_xlat2.xyz = vec3(u_xlat57) * u_xlat6.xyz; u_xlat16_4 = texture(unity_LightmapInd, vs_TEXCOORD8.xy, _GlobalMipBias.x); u_xlat16_6 = texture(unity_Lightmap, vs_TEXCOORD8.xy, _GlobalMipBias.x); u_xlat16_22.x = log2(abs(u_xlat16_6.w)); u_xlat16_22.x = u_xlat16_22.x * 2.20000005; u_xlat16_22.x = exp2(u_xlat16_22.x); u_xlat16_22.x = u_xlat16_22.x * 34.4932404; u_xlat16_22.xyz = u_xlat16_22.xxx * u_xlat16_6.xyz; u_xlat16_8.xyz = u_xlat16_4.xyz + vec3(-0.5, -0.5, -0.5); u_xlat57 = dot(u_xlat2.xyz, u_xlat16_8.xyz); u_xlat57 = u_xlat57 + 0.5; u_xlat16_22.xyz = vec3(u_xlat57) * u_xlat16_22.xyz; u_xlat16_62 = max(u_xlat16_4.w, 9.99999975e-05); u_xlat16_22.xyz = u_xlat16_22.xyz / vec3(u_xlat16_62); u_xlat6.xy = vec2(1.0) / vec2(_ScaledScreenParams.xy); u_xlat6.xy = u_xlat6.xy * hlslcc_FragCoord.xy; u_xlat16_62 = (-_Metallic) * 0.959999979 + 0.959999979; u_xlat16_8.x = (-u_xlat16_62) + _Smoothness; u_xlat16_27.xyz = u_xlat16_1.xyz * vec3(u_xlat16_62); u_xlat16_9.xyz = u_xlat16_0.xyz * _BaseColor.xyz + vec3(-0.0399999991, -0.0399999991, -0.0399999991); u_xlat16_9.xyz = vec3(vec3(_Metallic, _Metallic, _Metallic)) * u_xlat16_9.xyz + vec3(0.0399999991, 0.0399999991, 0.0399999991); u_xlat16_62 = (-_Smoothness) + 1.0; u_xlat16_66 = u_xlat16_62 * u_xlat16_62; u_xlat16_66 = max(u_xlat16_66, 0.0078125); u_xlat16_10 = u_xlat16_66 * u_xlat16_66; u_xlat16_8.x = u_xlat16_8.x + 1.0; u_xlat16_8.x = clamp(u_xlat16_8.x, 0.0, 1.0); u_xlat16_29 = u_xlat16_66 * 4.0 + 2.0; u_xlat16_0.x = texture(_ScreenSpaceOcclusionTexture, u_xlat6.xy, _GlobalMipBias.x).x; u_xlat16_48 = (-_AmbientOcclusionParam.x) + 1.0; u_xlat16_48 = u_xlat16_0.x + u_xlat16_48; u_xlat16_48 = clamp(u_xlat16_48, 0.0, 1.0); u_xlat0 = u_xlat16_48 + -1.0; u_xlat0 = _AmbientOcclusionParam.w * u_xlat0 + 1.0; u_xlat16_3.x = min(u_xlat16_3.x, u_xlat16_48); vec3 txVec0 = vec3(vs_TEXCOORD6.xy,vs_TEXCOORD6.z); u_xlat16_19 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec0, 0.0); u_xlat16_48 = (-_MainLightShadowParams.x) + 1.0; u_xlat16_48 = u_xlat16_19 * _MainLightShadowParams.x + u_xlat16_48; u_xlatb19.x = 0.0>=vs_TEXCOORD6.z; u_xlatb38.x = vs_TEXCOORD6.z>=1.0; u_xlatb19.x = u_xlatb38.x || u_xlatb19.x; u_xlat16_48 = (u_xlatb19.x) ? 1.0 : u_xlat16_48; u_xlat19.xyz = vs_TEXCOORD1.xyz + (-_WorldSpaceCameraPos.xyz); u_xlat19.x = dot(u_xlat19.xyz, u_xlat19.xyz); u_xlat19.x = u_xlat19.x * _MainLightShadowParams.z + _MainLightShadowParams.w; u_xlat19.x = clamp(u_xlat19.x, 0.0, 1.0); u_xlat16_67 = (-u_xlat16_48) + 1.0; u_xlat16_48 = u_xlat19.x * u_xlat16_67 + u_xlat16_48; u_xlatb19.x = _MainLightCookieTextureFormat!=-1.0; if(u_xlatb19.x){ u_xlat19.xy = vs_TEXCOORD1.yy * hlslcc_mtx4x4_MainLightWorldToLight[1].xy; u_xlat19.xy = hlslcc_mtx4x4_MainLightWorldToLight[0].xy * vs_TEXCOORD1.xx + u_xlat19.xy; u_xlat19.xy = hlslcc_mtx4x4_MainLightWorldToLight[2].xy * vs_TEXCOORD1.zz + u_xlat19.xy; u_xlat19.xy = u_xlat19.xy + hlslcc_mtx4x4_MainLightWorldToLight[3].xy; u_xlat19.xy = u_xlat19.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5); u_xlat16_4 = texture(_MainLightCookieTexture, u_xlat19.xy, _GlobalMipBias.x); u_xlatb19.xy = equal(vec4(vec4(_MainLightCookieTextureFormat, _MainLightCookieTextureFormat, _MainLightCookieTextureFormat, _MainLightCookieTextureFormat)), vec4(0.0, 1.0, 0.0, 0.0)).xy; u_xlat16_67 = (u_xlatb19.y) ? u_xlat16_4.w : u_xlat16_4.x; u_xlat16_11.xyz = (u_xlatb19.x) ? u_xlat16_4.xyz : vec3(u_xlat16_67); } else { u_xlat16_11.x = float(1.0); u_xlat16_11.y = float(1.0); u_xlat16_11.z = float(1.0); } u_xlat16_11.xyz = u_xlat16_11.xyz * _MainLightColor.xyz; u_xlat16_11.xyz = vec3(u_xlat0) * u_xlat16_11.xyz; u_xlat16_67 = dot((-u_xlat16_5.xyz), u_xlat2.xyz); u_xlat16_67 = u_xlat16_67 + u_xlat16_67; u_xlat16_12.xyz = u_xlat2.xyz * (-vec3(u_xlat16_67)) + (-u_xlat16_5.xyz); u_xlat16_67 = dot(u_xlat2.xyz, u_xlat16_5.xyz); u_xlat16_67 = clamp(u_xlat16_67, 0.0, 1.0); u_xlat16_67 = (-u_xlat16_67) + 1.0; u_xlat16_67 = u_xlat16_67 * u_xlat16_67; u_xlat16_67 = u_xlat16_67 * u_xlat16_67; u_xlat16_68 = (-u_xlat16_62) * 0.699999988 + 1.70000005; u_xlat16_62 = u_xlat16_62 * u_xlat16_68; u_xlat16_62 = u_xlat16_62 * 6.0; u_xlat16_4 = textureLod(unity_SpecCube0, u_xlat16_12.xyz, u_xlat16_62); u_xlat16_62 = u_xlat16_4.w + -1.0; u_xlat16_62 = unity_SpecCube0_HDR.w * u_xlat16_62 + 1.0; u_xlat16_62 = max(u_xlat16_62, 0.0); u_xlat16_62 = log2(u_xlat16_62); u_xlat16_62 = u_xlat16_62 * unity_SpecCube0_HDR.y; u_xlat16_62 = exp2(u_xlat16_62); u_xlat16_62 = u_xlat16_62 * unity_SpecCube0_HDR.x; u_xlat16_12.xyz = u_xlat16_4.xyz * vec3(u_xlat16_62); u_xlat16_13.xy = vec2(u_xlat16_66) * vec2(u_xlat16_66) + vec2(-1.0, 1.0); u_xlat16_62 = float(1.0) / u_xlat16_13.y; u_xlat16_32.xyz = (-u_xlat16_9.xyz) + u_xlat16_8.xxx; u_xlat16_32.xyz = vec3(u_xlat16_67) * u_xlat16_32.xyz + u_xlat16_9.xyz; u_xlat19.xyz = vec3(u_xlat16_62) * u_xlat16_32.xyz; u_xlat16_12.xyz = u_xlat19.xyz * u_xlat16_12.xyz; u_xlat16_22.xyz = u_xlat16_22.xyz * u_xlat16_27.xyz + u_xlat16_12.xyz; u_xlat19.x = u_xlat16_48 * unity_LightData.z; u_xlat16_62 = dot(u_xlat2.xyz, _MainLightPosition.xyz); u_xlat16_62 = clamp(u_xlat16_62, 0.0, 1.0); u_xlat16_62 = u_xlat19.x * u_xlat16_62; u_xlat16_11.xyz = vec3(u_xlat16_62) * u_xlat16_11.xyz; u_xlat19.xyz = u_xlat16_5.xyz + _MainLightPosition.xyz; u_xlat59 = dot(u_xlat19.xyz, u_xlat19.xyz); u_xlat59 = max(u_xlat59, 1.17549435e-38); u_xlat59 = inversesqrt(u_xlat59); u_xlat19.xyz = u_xlat19.xyz * vec3(u_xlat59); u_xlat59 = dot(u_xlat2.xyz, u_xlat19.xyz); u_xlat59 = clamp(u_xlat59, 0.0, 1.0); u_xlat19.x = dot(_MainLightPosition.xyz, u_xlat19.xyz); u_xlat19.x = clamp(u_xlat19.x, 0.0, 1.0); u_xlat38 = u_xlat59 * u_xlat59; u_xlat38 = u_xlat38 * u_xlat16_13.x + 1.00001001; u_xlat16_62 = u_xlat19.x * u_xlat19.x; u_xlat19.x = u_xlat38 * u_xlat38; u_xlat38 = max(u_xlat16_62, 0.100000001); u_xlat19.x = u_xlat38 * u_xlat19.x; u_xlat19.x = u_xlat16_29 * u_xlat19.x; u_xlat19.x = u_xlat16_10 / u_xlat19.x; u_xlat16_62 = u_xlat19.x + -6.10351562e-05; u_xlat16_62 = max(u_xlat16_62, 0.0); u_xlat16_62 = min(u_xlat16_62, 1000.0); u_xlat16_12.xyz = u_xlat16_9.xyz * vec3(u_xlat16_62) + u_xlat16_27.xyz; u_xlat16_11.xyz = u_xlat16_11.xyz * u_xlat16_12.xyz; u_xlat16_62 = min(_AdditionalLightsCount.x, unity_LightData.y); u_xlatu19 = uint(int(u_xlat16_62)); u_xlatb38.xy = equal(vec4(vec4(_AdditionalLightsCookieAtlasTextureFormat, _AdditionalLightsCookieAtlasTextureFormat, _AdditionalLightsCookieAtlasTextureFormat, _AdditionalLightsCookieAtlasTextureFormat)), vec4(0.0, 1.0, 0.0, 1.0)).xy; u_xlat16_12.x = float(0.0); u_xlat16_12.y = float(0.0); u_xlat16_12.z = float(0.0); for(uint u_xlatu_loop_1 = uint(0u) ; u_xlatu_loop_1> (2u & uint(0x1F))); u_xlati25 = int(uint(u_xlatu_loop_1 & 3u)); u_xlat6.x = dot(unity_LightIndices[int(u_xlatu6)], ImmCB_0[u_xlati25]); u_xlati6 = int(u_xlat6.x); u_xlat25.xyz = (-vs_TEXCOORD1.xyz) * _AdditionalLightsPosition[u_xlati6].www + _AdditionalLightsPosition[u_xlati6].xyz; u_xlat7.x = dot(u_xlat25.xyz, u_xlat25.xyz); u_xlat7.x = max(u_xlat7.x, 6.10351562e-05); u_xlat26 = inversesqrt(u_xlat7.x); u_xlat14.xyz = u_xlat25.xyz * vec3(u_xlat26); u_xlat45.x = float(1.0) / float(u_xlat7.x); u_xlat7.x = u_xlat7.x * _AdditionalLightsAttenuation[u_xlati6].x; u_xlat16_62 = (-u_xlat7.x) * u_xlat7.x + 1.0; u_xlat16_62 = max(u_xlat16_62, 0.0); u_xlat16_62 = u_xlat16_62 * u_xlat16_62; u_xlat7.x = u_xlat16_62 * u_xlat45.x; u_xlat16_62 = dot(_AdditionalLightsSpotDir[u_xlati6].xyz, u_xlat14.xyz); u_xlat16_62 = u_xlat16_62 * _AdditionalLightsAttenuation[u_xlati6].z + _AdditionalLightsAttenuation[u_xlati6].w; u_xlat16_62 = clamp(u_xlat16_62, 0.0, 1.0); u_xlat16_62 = u_xlat16_62 * u_xlat16_62; u_xlat7.x = u_xlat16_62 * u_xlat7.x; u_xlati45 = int(1 << (u_xlati6 & int(0x1F))); u_xlati45 = int(uint(uint(u_xlati45) & uint(floatBitsToUint(_AdditionalLightsCookieEnableBits)))); if(u_xlati45 != 0) { u_xlati45 = int(_AdditionalLightsLightTypes[u_xlati6]); u_xlati64 = (u_xlati45 != 0) ? 0 : 1; u_xlati71 = int(u_xlati6 << (2 & int(0x1F))); if(u_xlati64 != 0) { u_xlat15.xyz = vs_TEXCOORD1.yyy * hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati71 + 1)].xyw; u_xlat15.xyz = hlslcc_mtx4x4_AdditionalLightsWorldToLights[u_xlati71].xyw * vs_TEXCOORD1.xxx + u_xlat15.xyz; u_xlat15.xyz = hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati71 + 2)].xyw * vs_TEXCOORD1.zzz + u_xlat15.xyz; u_xlat15.xyz = u_xlat15.xyz + hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati71 + 3)].xyw; u_xlat15.xy = u_xlat15.xy / u_xlat15.zz; u_xlat15.xy = u_xlat15.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5); u_xlat15.xy = clamp(u_xlat15.xy, 0.0, 1.0); u_xlat15.xy = _AdditionalLightsCookieAtlasUVRects[u_xlati6].xy * u_xlat15.xy + _AdditionalLightsCookieAtlasUVRects[u_xlati6].zw; } else { u_xlatb45 = u_xlati45==1; u_xlati45 = u_xlatb45 ? 1 : int(0); if(u_xlati45 != 0) { u_xlat45.xy = vs_TEXCOORD1.yy * hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati71 + 1)].xy; u_xlat45.xy = hlslcc_mtx4x4_AdditionalLightsWorldToLights[u_xlati71].xy * vs_TEXCOORD1.xx + u_xlat45.xy; u_xlat45.xy = hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati71 + 2)].xy * vs_TEXCOORD1.zz + u_xlat45.xy; u_xlat45.xy = u_xlat45.xy + hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati71 + 3)].xy; u_xlat45.xy = u_xlat45.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5); u_xlat45.xy = fract(u_xlat45.xy); u_xlat15.xy = _AdditionalLightsCookieAtlasUVRects[u_xlati6].xy * u_xlat45.xy + _AdditionalLightsCookieAtlasUVRects[u_xlati6].zw; } else { u_xlat4 = vs_TEXCOORD1.yyyy * hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati71 + 1)]; u_xlat4 = hlslcc_mtx4x4_AdditionalLightsWorldToLights[u_xlati71] * vs_TEXCOORD1.xxxx + u_xlat4; u_xlat4 = hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati71 + 2)] * vs_TEXCOORD1.zzzz + u_xlat4; u_xlat4 = u_xlat4 + hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati71 + 3)]; u_xlat16.xyz = u_xlat4.xyz / u_xlat4.www; u_xlat45.x = dot(u_xlat16.xyz, u_xlat16.xyz); u_xlat45.x = inversesqrt(u_xlat45.x); u_xlat16.xyz = u_xlat45.xxx * u_xlat16.xyz; u_xlat45.x = dot(abs(u_xlat16.xyz), vec3(1.0, 1.0, 1.0)); u_xlat45.x = max(u_xlat45.x, 9.99999997e-07); u_xlat45.x = float(1.0) / float(u_xlat45.x); u_xlat17.xyz = u_xlat45.xxx * u_xlat16.zxy; u_xlat17.x = (-u_xlat17.x); u_xlat17.x = clamp(u_xlat17.x, 0.0, 1.0); u_xlatb53.xy = greaterThanEqual(u_xlat17.yzyz, vec4(0.0, 0.0, 0.0, 0.0)).xy; u_xlat53.x = (u_xlatb53.x) ? u_xlat17.x : (-u_xlat17.x); u_xlat53.y = (u_xlatb53.y) ? u_xlat17.x : (-u_xlat17.x); u_xlat45.xy = u_xlat16.xy * u_xlat45.xx + u_xlat53.xy; u_xlat45.xy = u_xlat45.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5); u_xlat45.xy = clamp(u_xlat45.xy, 0.0, 1.0); u_xlat15.xy = _AdditionalLightsCookieAtlasUVRects[u_xlati6].xy * u_xlat45.xy + _AdditionalLightsCookieAtlasUVRects[u_xlati6].zw; } } u_xlat16_4 = textureLod(_AdditionalLightsCookieAtlasTexture, u_xlat15.xy, 0.0); u_xlat16_62 = (u_xlatb38.y) ? u_xlat16_4.w : u_xlat16_4.x; u_xlat16_32.xyz = (u_xlatb38.x) ? u_xlat16_4.xyz : vec3(u_xlat16_62); } else { u_xlat16_32.x = float(1.0); u_xlat16_32.y = float(1.0); u_xlat16_32.z = float(1.0); } u_xlat16_32.xyz = u_xlat16_32.xyz * _AdditionalLightsColor[u_xlati6].xyz; u_xlat16_32.xyz = vec3(u_xlat0) * u_xlat16_32.xyz; u_xlat16_62 = dot(u_xlat2.xyz, u_xlat14.xyz); u_xlat16_62 = clamp(u_xlat16_62, 0.0, 1.0); u_xlat16_62 = u_xlat16_62 * u_xlat7.x; u_xlat16_32.xyz = vec3(u_xlat16_62) * u_xlat16_32.xyz; u_xlat6.xyz = u_xlat25.xyz * vec3(u_xlat26) + u_xlat16_5.xyz; u_xlat63 = dot(u_xlat6.xyz, u_xlat6.xyz); u_xlat63 = max(u_xlat63, 1.17549435e-38); u_xlat63 = inversesqrt(u_xlat63); u_xlat6.xyz = vec3(u_xlat63) * u_xlat6.xyz; u_xlat63 = dot(u_xlat2.xyz, u_xlat6.xyz); u_xlat63 = clamp(u_xlat63, 0.0, 1.0); u_xlat6.x = dot(u_xlat14.xyz, u_xlat6.xyz); u_xlat6.x = clamp(u_xlat6.x, 0.0, 1.0); u_xlat25.x = u_xlat63 * u_xlat63; u_xlat25.x = u_xlat25.x * u_xlat16_13.x + 1.00001001; u_xlat16_62 = u_xlat6.x * u_xlat6.x; u_xlat6.x = u_xlat25.x * u_xlat25.x; u_xlat25.x = max(u_xlat16_62, 0.100000001); u_xlat6.x = u_xlat25.x * u_xlat6.x; u_xlat6.x = u_xlat16_29 * u_xlat6.x; u_xlat6.x = u_xlat16_10 / u_xlat6.x; u_xlat16_62 = u_xlat6.x + -6.10351562e-05; u_xlat16_62 = max(u_xlat16_62, 0.0); u_xlat16_62 = min(u_xlat16_62, 1000.0); u_xlat16_18.xyz = u_xlat16_9.xyz * vec3(u_xlat16_62) + u_xlat16_27.xyz; u_xlat16_12.xyz = u_xlat16_18.xyz * u_xlat16_32.xyz + u_xlat16_12.xyz; } u_xlat16_3.xyz = u_xlat16_22.xyz * u_xlat16_3.xxx + u_xlat16_11.xyz; u_xlat16_1.xyz = u_xlat16_12.xyz + u_xlat16_3.xyz; u_xlat16_0 = min(u_xlat16_1, vec4(65504.0, 65504.0, 65504.0, 65504.0)); u_xlatb2 = _Surface==1.0; SV_Target0.w = (u_xlatb2) ? u_xlat16_0.w : 1.0; SV_Target0.xyz = u_xlat16_0.xyz; return; } #endif 7$Globalsd _ScaledScreenParams_GlobalMipBias_MainLightPosition _MainLightColor0_AmbientOcclusionParam@_AdditionalLightsCountP_AdditionalLightsPosition`_AdditionalLightsColor`_AdditionalLightsAttenuation`_AdditionalLightsSpotDir`_WorldSpaceCameraPos`unity_OrthoParamsp_MainLightShadowParams!_AdditionalLightsCookieEnableBits_MainLightCookieTextureFormat)_AdditionalLightsCookieAtlasTextureFormat#_AdditionalLightsCookieAtlasUVRects _AdditionalLightsLightTypes _DitheringTextureInvSize` unity_MatrixV_MainLightWorldToLight_AdditionalLightsWorldToLights UnityPerMaterial| _BaseMap_ST _BaseColor _SmoothnessT _MetallicX _BumpScale\_OcclusionStrengthd_Surfacex UnityPerDraw unity_LODFadeunity_WorldTransformParamsunity_LightDataunity_LightIndicesunity_SpecCube0_HDRunity_LightmapSTpunity_ObjectToWorldunity_WorldToObject@unity_SpecCube0unity_Lightmapunity_LightmapInd_BaseMap_BumpMap _OcclusionMap_ScreenSpaceOcclusionTexture_MainLightShadowmapTexture_MainLightCookieTexture #_AdditionalLightsCookieAtlasTexture _DitheringTexture $GlobalsUnityPerMaterial UnityPerDraw