1u _MAIN_LIGHT_SHADOWS_CASCADE_MIXED_LIGHTING_SUBTRACTIVE;,#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 _MainLightPosition; uniform mediump vec4 _MainLightColor; uniform vec4 hlslcc_mtx4x4unity_MatrixVP[4]; uniform vec4 hlslcc_mtx4x4_MainLightWorldToShadow[20]; uniform vec4 _CascadeShadowSplitSpheres0; uniform vec4 _CascadeShadowSplitSpheres1; uniform vec4 _CascadeShadowSplitSpheres2; uniform vec4 _CascadeShadowSplitSpheres3; uniform vec4 _CascadeShadowSplitSphereRadii; uniform vec4 _MainTex_ST; #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 Xhlslcc_UnusedXunity_LODFade; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_WorldTransformParams; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RenderingLayer; UNITY_UNIFORM mediump vec4 unity_LightData; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_LightIndices[2]; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_ProbesOcclusion; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_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 Xhlslcc_UnusedXunity_LightmapST; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_DynamicLightmapST; UNITY_UNIFORM mediump vec4 unity_SHAr; UNITY_UNIFORM mediump vec4 unity_SHAg; UNITY_UNIFORM mediump vec4 unity_SHAb; UNITY_UNIFORM mediump vec4 unity_SHBr; UNITY_UNIFORM mediump vec4 unity_SHBg; UNITY_UNIFORM mediump vec4 unity_SHBb; UNITY_UNIFORM mediump vec4 unity_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 in highp vec4 in_POSITION0; in highp vec2 in_TEXCOORD0; in mediump vec3 in_NORMAL0; in mediump vec4 in_COLOR0; out highp vec2 vs_TEXCOORD0; out mediump vec3 vs_TEXCOORD1; out mediump vec4 vs_TEXCOORD2; out mediump vec4 vs_TEXCOORD3; out highp vec4 vs_TEXCOORD4; out mediump vec3 vs_TEXCOORD5; vec4 u_xlat0; vec4 u_xlat1; mediump vec4 u_xlat16_1; bvec4 u_xlatb1; vec3 u_xlat2; mediump vec3 u_xlat16_3; float u_xlat12; int u_xlati12; uint u_xlatu12; void main() { vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw; vs_TEXCOORD1.xyz = vec3(0.0, 0.0, 0.0); vs_TEXCOORD2 = in_COLOR0; u_xlat0.x = dot(in_NORMAL0.xyz, hlslcc_mtx4x4unity_WorldToObject[0].xyz); u_xlat0.y = dot(in_NORMAL0.xyz, hlslcc_mtx4x4unity_WorldToObject[1].xyz); u_xlat0.z = dot(in_NORMAL0.xyz, hlslcc_mtx4x4unity_WorldToObject[2].xyz); u_xlat12 = dot(u_xlat0.xyz, u_xlat0.xyz); u_xlat12 = max(u_xlat12, 1.17549435e-38); u_xlat12 = inversesqrt(u_xlat12); u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz; u_xlat16_1.x = dot(u_xlat0.xyz, _MainLightPosition.xyz); u_xlat16_1.x = clamp(u_xlat16_1.x, 0.0, 1.0); vs_TEXCOORD5.xyz = u_xlat0.xyz; u_xlat0.xyz = _MainLightColor.xyz * unity_LightData.zzz; vs_TEXCOORD3.xyz = u_xlat16_1.xxx * u_xlat0.xyz; vs_TEXCOORD3.w = 0.0; 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; u_xlat2.xyz = u_xlat0.xyz + (-_CascadeShadowSplitSpheres0.xyz); u_xlat1.x = dot(u_xlat2.xyz, u_xlat2.xyz); u_xlat2.xyz = u_xlat0.xyz + (-_CascadeShadowSplitSpheres1.xyz); u_xlat1.y = dot(u_xlat2.xyz, u_xlat2.xyz); u_xlat2.xyz = u_xlat0.xyz + (-_CascadeShadowSplitSpheres2.xyz); u_xlat1.z = dot(u_xlat2.xyz, u_xlat2.xyz); u_xlat2.xyz = u_xlat0.xyz + (-_CascadeShadowSplitSpheres3.xyz); u_xlat1.w = dot(u_xlat2.xyz, u_xlat2.xyz); u_xlatb1 = lessThan(u_xlat1, _CascadeShadowSplitSphereRadii); u_xlat16_3.x = (u_xlatb1.x) ? float(-1.0) : float(-0.0); u_xlat16_3.y = (u_xlatb1.y) ? float(-1.0) : float(-0.0); u_xlat16_3.z = (u_xlatb1.z) ? float(-1.0) : float(-0.0); u_xlat16_1.x = (u_xlatb1.x) ? float(1.0) : float(0.0); u_xlat16_1.y = (u_xlatb1.y) ? float(1.0) : float(0.0); u_xlat16_1.z = (u_xlatb1.z) ? float(1.0) : float(0.0); u_xlat16_1.w = (u_xlatb1.w) ? float(1.0) : float(0.0); u_xlat16_3.xyz = u_xlat16_3.xyz + u_xlat16_1.yzw; u_xlat16_1.yzw = max(u_xlat16_3.xyz, vec3(0.0, 0.0, 0.0)); u_xlat16_3.x = dot(u_xlat16_1, vec4(4.0, 3.0, 2.0, 1.0)); u_xlat16_3.x = (-u_xlat16_3.x) + 4.0; u_xlatu12 = uint(u_xlat16_3.x); u_xlati12 = int(int(u_xlatu12) << (2 & int(0x1F))); u_xlat2.xyz = u_xlat0.yyy * hlslcc_mtx4x4_MainLightWorldToShadow[(u_xlati12 + 1)].xyz; u_xlat2.xyz = hlslcc_mtx4x4_MainLightWorldToShadow[u_xlati12].xyz * u_xlat0.xxx + u_xlat2.xyz; u_xlat2.xyz = hlslcc_mtx4x4_MainLightWorldToShadow[(u_xlati12 + 2)].xyz * u_xlat0.zzz + u_xlat2.xyz; vs_TEXCOORD4.xyz = u_xlat2.xyz + hlslcc_mtx4x4_MainLightWorldToShadow[(u_xlati12 + 3)].xyz; vs_TEXCOORD4.w = 0.0; 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 uniform vec2 _GlobalMipBias; uniform vec4 _MainLightShadowParams; #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 Xhlslcc_UnusedXunity_LODFade; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_WorldTransformParams; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RenderingLayer; UNITY_UNIFORM mediump vec4 unity_LightData; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_LightIndices[2]; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_ProbesOcclusion; UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_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 Xhlslcc_UnusedXunity_LightmapST; UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_DynamicLightmapST; UNITY_UNIFORM mediump vec4 unity_SHAr; UNITY_UNIFORM mediump vec4 unity_SHAg; UNITY_UNIFORM mediump vec4 unity_SHAb; UNITY_UNIFORM mediump vec4 unity_SHBr; UNITY_UNIFORM mediump vec4 unity_SHBg; UNITY_UNIFORM mediump vec4 unity_SHBb; UNITY_UNIFORM mediump vec4 unity_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 UNITY_LOCATION(0) uniform mediump sampler2D _MainLightShadowmapTexture; UNITY_LOCATION(1) uniform mediump sampler2DShadow hlslcc_zcmp_MainLightShadowmapTexture; UNITY_LOCATION(2) uniform mediump sampler2D _MainTex; in highp vec2 vs_TEXCOORD0; in mediump vec4 vs_TEXCOORD2; in mediump vec4 vs_TEXCOORD3; in highp vec4 vs_TEXCOORD4; in mediump vec3 vs_TEXCOORD5; layout(location = 0) out mediump vec4 SV_Target0; layout(location = 1) out mediump vec4 SV_Target1; layout(location = 2) out mediump vec4 SV_Target2; layout(location = 3) out mediump vec4 SV_Target3; mediump vec3 u_xlat16_0; mediump vec4 u_xlat16_1; mediump vec3 u_xlat16_2; mediump vec3 u_xlat16_3; bool u_xlatb3; bool u_xlatb7; mediump float u_xlat16_12; void main() { SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0); SV_Target1 = vec4(0.0, 0.0, 0.0, 1.0); SV_Target2.xyz = vs_TEXCOORD5.xyz; SV_Target2.w = 0.0; u_xlat16_0.x = vs_TEXCOORD5.y * vs_TEXCOORD5.y; u_xlat16_0.x = vs_TEXCOORD5.x * vs_TEXCOORD5.x + (-u_xlat16_0.x); u_xlat16_1 = vs_TEXCOORD5.yzzx * vs_TEXCOORD5.xyzz; u_xlat16_2.x = dot(unity_SHBr, u_xlat16_1); u_xlat16_2.y = dot(unity_SHBg, u_xlat16_1); u_xlat16_2.z = dot(unity_SHBb, u_xlat16_1); u_xlat16_0.xyz = unity_SHC.xyz * u_xlat16_0.xxx + u_xlat16_2.xyz; u_xlat16_1.xyz = vs_TEXCOORD5.xyz; u_xlat16_1.w = 1.0; u_xlat16_2.x = dot(unity_SHAr, u_xlat16_1); u_xlat16_2.y = dot(unity_SHAg, u_xlat16_1); u_xlat16_2.z = dot(unity_SHAb, u_xlat16_1); u_xlat16_0.xyz = u_xlat16_0.xyz + u_xlat16_2.xyz; u_xlat16_0.xyz = max(u_xlat16_0.xyz, vec3(0.0, 0.0, 0.0)); vec3 txVec0 = vec3(vs_TEXCOORD4.xy,vs_TEXCOORD4.z); u_xlat16_3.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec0, 0.0); u_xlat16_12 = (-_MainLightShadowParams.x) + 1.0; u_xlat16_12 = u_xlat16_3.x * _MainLightShadowParams.x + u_xlat16_12; u_xlatb3 = 0.0>=vs_TEXCOORD4.z; u_xlatb7 = vs_TEXCOORD4.z>=1.0; u_xlatb3 = u_xlatb7 || u_xlatb3; u_xlat16_12 = (u_xlatb3) ? 1.0 : u_xlat16_12; u_xlat16_0.xyz = vs_TEXCOORD3.xyz * vec3(u_xlat16_12) + u_xlat16_0.xyz; u_xlat16_3.xyz = texture(_MainTex, vs_TEXCOORD0.xy, _GlobalMipBias.x).xyz; u_xlat16_1.xyz = u_xlat16_3.xyz * vs_TEXCOORD2.xyz; SV_Target3.xyz = u_xlat16_0.xyz * u_xlat16_1.xyz; SV_Target3.w = 1.0; return; } #endif $Globals _GlobalMipBias_MainLightShadowParams_CascadeShadowSplitSpheres0_CascadeShadowSplitSpheres1_CascadeShadowSplitSpheres2_CascadeShadowSplitSpheres3_CascadeShadowSplitSphereRadii _MainTex_STunity_MatrixVP _MainLightWorldToShadow` UnityPerDraw unity_LightData unity_SHAr unity_SHAg unity_SHAb unity_SHBr unity_SHBg unity_SHBb unity_SHCunity_ObjectToWorldunity_WorldToObject@_MainLightShadowmapTexture_MainTex$Globals UnityPerDraw