¦A  DIRECTIONALVERTEXLIGHT_ONÇ#ifdef VERTEX #version 100 uniform vec3 _WorldSpaceCameraPos; uniform vec4 hlslcc_mtx4x4unity_ObjectToWorld[4]; uniform vec4 hlslcc_mtx4x4unity_WorldToObject[4]; uniform vec4 hlslcc_mtx4x4unity_MatrixVP[4]; uniform vec4 _MainTex_ST; uniform vec4 _DetailAlbedoMap_ST; uniform mediump float _UVSec; attribute highp vec4 in_POSITION0; attribute mediump vec3 in_NORMAL0; attribute highp vec2 in_TEXCOORD0; attribute highp vec2 in_TEXCOORD1; varying highp vec4 vs_TEXCOORD0; varying highp vec4 vs_TEXCOORD1; varying highp vec4 vs_TEXCOORD2; varying highp vec4 vs_TEXCOORD3; varying highp vec4 vs_TEXCOORD4; varying mediump vec4 vs_TEXCOORD5; varying highp vec4 vs_TEXCOORD7; varying highp vec3 vs_TEXCOORD8; vec4 u_xlat0; bool u_xlatb0; vec4 u_xlat1; float u_xlat6; void main() { u_xlat0 = in_POSITION0.yyyy * hlslcc_mtx4x4unity_ObjectToWorld[1]; u_xlat0 = hlslcc_mtx4x4unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0; u_xlat0 = hlslcc_mtx4x4unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0; u_xlat0 = u_xlat0 + hlslcc_mtx4x4unity_ObjectToWorld[3]; u_xlat1 = u_xlat0.yyyy * hlslcc_mtx4x4unity_MatrixVP[1]; u_xlat1 = hlslcc_mtx4x4unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1; u_xlat1 = hlslcc_mtx4x4unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1; gl_Position = hlslcc_mtx4x4unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1; u_xlatb0 = _UVSec==0.0; u_xlat0.xy = (bool(u_xlatb0)) ? in_TEXCOORD0.xy : in_TEXCOORD1.xy; vs_TEXCOORD0.zw = u_xlat0.xy * _DetailAlbedoMap_ST.xy + _DetailAlbedoMap_ST.zw; vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_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 = hlslcc_mtx4x4unity_ObjectToWorld[3].xyz * in_POSITION0.www + u_xlat0.xyz; vs_TEXCOORD1.xyz = u_xlat0.xyz + (-_WorldSpaceCameraPos.xyz); vs_TEXCOORD8.xyz = u_xlat0.xyz; vs_TEXCOORD1.w = 0.0; vs_TEXCOORD2 = vec4(0.0, 0.0, 0.0, 0.0); vs_TEXCOORD3 = vec4(0.0, 0.0, 0.0, 0.0); 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_xlat6 = dot(u_xlat0.xyz, u_xlat0.xyz); u_xlat6 = inversesqrt(u_xlat6); vs_TEXCOORD4.xyz = vec3(u_xlat6) * u_xlat0.xyz; vs_TEXCOORD4.w = 0.0; vs_TEXCOORD5 = vec4(0.0, 0.0, 0.0, 0.0); vs_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0); return; } #endif #ifdef FRAGMENT #version 100 #ifdef GL_EXT_shader_texture_lod #extension GL_EXT_shader_texture_lod : enable #endif #if !defined(GL_EXT_shader_texture_lod) #define texture1DLodEXT texture1D #define texture2DLodEXT texture2D #define texture2DProjLodEXT texture2DProj #define texture3DLodEXT texture3D #define textureCubeLodEXT textureCube #endif #ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; #else precision mediump float; #endif precision highp int; uniform mediump vec4 _WorldSpaceLightPos0; uniform mediump vec4 unity_SpecCube0_HDR; uniform mediump vec4 _LightColor0; uniform mediump vec4 _Color; uniform mediump float _Metallic; uniform float _Glossiness; uniform mediump float _OcclusionStrength; uniform lowp sampler2D _MainTex; uniform lowp sampler2D _OcclusionMap; uniform lowp samplerCube unity_SpecCube0; varying highp vec4 vs_TEXCOORD0; varying highp vec4 vs_TEXCOORD1; varying highp vec4 vs_TEXCOORD4; #define SV_Target0 gl_FragData[0] vec3 u_xlat0; lowp float u_xlat10_0; mediump vec3 u_xlat16_1; vec3 u_xlat2; vec3 u_xlat3; mediump vec3 u_xlat16_4; mediump vec3 u_xlat16_5; lowp vec4 u_xlat10_5; mediump vec3 u_xlat16_6; vec3 u_xlat7; mediump vec3 u_xlat16_8; mediump vec3 u_xlat16_11; float u_xlat14; float u_xlat21; mediump float u_xlat16_22; void main() { u_xlat10_0 = texture2D(_OcclusionMap, vs_TEXCOORD0.xy).y; u_xlat16_1.x = (-_OcclusionStrength) + 1.0; u_xlat16_1.x = u_xlat10_0 * _OcclusionStrength + u_xlat16_1.x; u_xlat0.x = dot(vs_TEXCOORD1.xyz, vs_TEXCOORD1.xyz); u_xlat0.x = inversesqrt(u_xlat0.x); u_xlat7.xyz = u_xlat0.xxx * vs_TEXCOORD1.xyz; u_xlat2.xyz = (-vs_TEXCOORD1.xyz) * u_xlat0.xxx + _WorldSpaceLightPos0.xyz; u_xlat0.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz); u_xlat0.x = inversesqrt(u_xlat0.x); u_xlat3.xyz = u_xlat0.xxx * vs_TEXCOORD4.xyz; u_xlat16_8.x = dot(u_xlat7.xyz, u_xlat3.xyz); u_xlat16_8.x = u_xlat16_8.x + u_xlat16_8.x; u_xlat16_8.xyz = u_xlat3.xyz * (-u_xlat16_8.xxx) + u_xlat7.xyz; u_xlat0.x = dot(u_xlat3.xyz, (-u_xlat7.xyz)); u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0); u_xlat16_4.x = (-u_xlat0.x) + 1.0; u_xlat16_4.x = u_xlat16_4.x * u_xlat16_4.x; u_xlat16_4.x = u_xlat16_4.x * u_xlat16_4.x; u_xlat0.x = (-_Glossiness) + 1.0; u_xlat16_11.x = (-u_xlat0.x) * 0.699999988 + 1.70000005; u_xlat16_11.x = u_xlat0.x * u_xlat16_11.x; u_xlat16_11.x = u_xlat16_11.x * 6.0; u_xlat10_5 = textureCubeLodEXT(unity_SpecCube0, u_xlat16_8.xyz, u_xlat16_11.x); u_xlat16_8.x = u_xlat10_5.w + -1.0; u_xlat16_8.x = unity_SpecCube0_HDR.w * u_xlat16_8.x + 1.0; u_xlat16_8.x = u_xlat16_8.x * unity_SpecCube0_HDR.x; u_xlat16_8.xyz = u_xlat10_5.xyz * u_xlat16_8.xxx; u_xlat16_1.xyz = u_xlat16_1.xxx * u_xlat16_8.xyz; u_xlat7.x = u_xlat0.x * u_xlat0.x; u_xlat16_22 = u_xlat0.x * u_xlat7.x; u_xlat0.x = u_xlat0.x * u_xlat0.x + 1.5; u_xlat16_22 = (-u_xlat16_22) * 0.280000001 + 1.0; u_xlat16_1.xyz = u_xlat16_1.xyz * vec3(u_xlat16_22); u_xlat16_22 = (-_Metallic) * 0.779083729 + 0.779083729; u_xlat16_11.x = (-u_xlat16_22) + 1.0; u_xlat16_11.x = u_xlat16_11.x + _Glossiness; u_xlat16_11.x = clamp(u_xlat16_11.x, 0.0, 1.0); u_xlat10_5.xyz = texture2D(_MainTex, vs_TEXCOORD0.xy).xyz; u_xlat16_6.xyz = _Color.xyz * u_xlat10_5.xyz + vec3(-0.220916301, -0.220916301, -0.220916301); u_xlat16_5.xyz = u_xlat10_5.xyz * _Color.xyz; u_xlat16_6.xyz = vec3(vec3(_Metallic, _Metallic, _Metallic)) * u_xlat16_6.xyz + vec3(0.220916301, 0.220916301, 0.220916301); u_xlat16_11.xyz = u_xlat16_11.xxx + (-u_xlat16_6.xyz); u_xlat16_4.xyz = u_xlat16_4.xxx * u_xlat16_11.xyz + u_xlat16_6.xyz; u_xlat16_1.xyz = u_xlat16_1.xyz * u_xlat16_4.xyz; u_xlat14 = dot(u_xlat2.xyz, u_xlat2.xyz); u_xlat14 = max(u_xlat14, 0.00100000005); u_xlat14 = inversesqrt(u_xlat14); u_xlat2.xyz = vec3(u_xlat14) * u_xlat2.xyz; u_xlat14 = dot(_WorldSpaceLightPos0.xyz, u_xlat2.xyz); u_xlat14 = clamp(u_xlat14, 0.0, 1.0); u_xlat21 = dot(u_xlat3.xyz, u_xlat2.xyz); u_xlat21 = clamp(u_xlat21, 0.0, 1.0); u_xlat2.x = dot(u_xlat3.xyz, _WorldSpaceLightPos0.xyz); u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0); u_xlat21 = u_xlat21 * u_xlat21; u_xlat14 = max(u_xlat14, 0.319999993); u_xlat0.x = u_xlat0.x * u_xlat14; u_xlat14 = u_xlat7.x * u_xlat7.x + -1.0; u_xlat14 = u_xlat21 * u_xlat14 + 1.00001001; u_xlat0.x = u_xlat14 * u_xlat0.x; u_xlat0.x = u_xlat7.x / u_xlat0.x; u_xlat0.x = u_xlat0.x + -9.99999975e-05; u_xlat0.x = max(u_xlat0.x, 0.0); u_xlat0.x = min(u_xlat0.x, 100.0); u_xlat0.xyz = u_xlat16_6.xyz * u_xlat0.xxx; u_xlat0.xyz = u_xlat16_5.xyz * vec3(u_xlat16_22) + u_xlat0.xyz; u_xlat0.xyz = u_xlat0.xyz * _LightColor0.xyz; u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xxx + u_xlat16_1.xyz; SV_Target0.xyz = u_xlat0.xyz; SV_Target0.w = 1.0; return; } #endif 3