¦A  DIRECTIONAL³#ifdef VERTEX #version 300 es uniform vec3 _WorldSpaceCameraPos; uniform mediump vec4 _WorldSpaceLightPos0; 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; in highp vec4 in_POSITION0; in mediump vec3 in_NORMAL0; in highp vec2 in_TEXCOORD0; in highp vec2 in_TEXCOORD1; out highp vec4 vs_TEXCOORD0; out highp vec4 vs_TEXCOORD1; out highp vec4 vs_TEXCOORD2; out highp vec4 vs_TEXCOORD3; out highp vec4 vs_TEXCOORD4; out highp vec3 vs_TEXCOORD5; out highp vec4 vs_TEXCOORD7; 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; #ifdef UNITY_ADRENO_ES3 u_xlatb0 = !!(_UVSec==0.0); #else u_xlatb0 = _UVSec==0.0; #endif 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; u_xlat1.xyz = u_xlat0.xyz + (-_WorldSpaceCameraPos.xyz); u_xlat6 = dot(u_xlat1.xyz, u_xlat1.xyz); u_xlat6 = inversesqrt(u_xlat6); vs_TEXCOORD1.xyz = vec3(u_xlat6) * u_xlat1.xyz; vs_TEXCOORD1.w = 0.0; u_xlat1.xyz = (-u_xlat0.xyz) * _WorldSpaceLightPos0.www + _WorldSpaceLightPos0.xyz; vs_TEXCOORD5.xyz = u_xlat0.xyz; u_xlat1.w = 0.0; vs_TEXCOORD2 = u_xlat1.wwwx; vs_TEXCOORD3 = u_xlat1.wwwy; vs_TEXCOORD4.w = u_xlat1.z; 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_TEXCOORD7 = vec4(0.0, 0.0, 0.0, 0.0); return; } #endif #ifdef FRAGMENT #version 300 es precision highp int; uniform mediump vec4 _LightColor0; uniform mediump vec4 _Color; uniform mediump float _Metallic; uniform float _Glossiness; uniform lowp sampler2D _MainTex; uniform highp sampler2D unity_NHxRoughness; in highp vec4 vs_TEXCOORD0; in highp vec4 vs_TEXCOORD1; in highp vec4 vs_TEXCOORD2; in highp vec4 vs_TEXCOORD3; in highp vec4 vs_TEXCOORD4; layout(location = 0) out mediump vec4 SV_Target0; vec3 u_xlat0; vec3 u_xlat1; vec3 u_xlat2; mediump vec3 u_xlat16_3; mediump vec3 u_xlat16_4; mediump vec3 u_xlat16_5; lowp vec3 u_xlat10_5; float u_xlat15; mediump float u_xlat16_18; void main() { u_xlat0.x = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz); u_xlat0.x = inversesqrt(u_xlat0.x); u_xlat0.xyz = u_xlat0.xxx * vs_TEXCOORD4.xyz; u_xlat15 = dot((-vs_TEXCOORD1.xyz), u_xlat0.xyz); u_xlat15 = u_xlat15 + u_xlat15; u_xlat1.xyz = u_xlat0.xyz * (-vec3(u_xlat15)) + (-vs_TEXCOORD1.xyz); u_xlat2.x = vs_TEXCOORD2.w; u_xlat2.y = vs_TEXCOORD3.w; u_xlat2.z = vs_TEXCOORD4.w; u_xlat15 = dot(u_xlat1.xyz, u_xlat2.xyz); u_xlat0.x = dot(u_xlat0.xyz, u_xlat2.xyz); #ifdef UNITY_ADRENO_ES3 u_xlat0.x = min(max(u_xlat0.x, 0.0), 1.0); #else u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0); #endif u_xlat16_3.xyz = u_xlat0.xxx * _LightColor0.xyz; u_xlat0.x = u_xlat15 * u_xlat15; u_xlat0.x = u_xlat0.x * u_xlat0.x; u_xlat0.y = (-_Glossiness) + 1.0; u_xlat0.x = texture(unity_NHxRoughness, u_xlat0.xy).x; u_xlat0.x = u_xlat0.x * 16.0; u_xlat10_5.xyz = texture(_MainTex, vs_TEXCOORD0.xy).xyz; u_xlat16_4.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_4.xyz = vec3(vec3(_Metallic, _Metallic, _Metallic)) * u_xlat16_4.xyz + vec3(0.220916301, 0.220916301, 0.220916301); u_xlat16_4.xyz = u_xlat0.xxx * u_xlat16_4.xyz; u_xlat16_18 = (-_Metallic) * 0.779083729 + 0.779083729; u_xlat16_4.xyz = u_xlat16_5.xyz * vec3(u_xlat16_18) + u_xlat16_4.xyz; SV_Target0.xyz = u_xlat16_3.xyz * u_xlat16_4.xyz; SV_Target0.w = 1.0; return; } #endif 3