ºu  DIRECTIONALÎ#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 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; highp vec3 vs_TEXCOORD5; 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; 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_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 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 mediump vec4 _LightColor0; uniform mediump vec4 _SpecColor; uniform mediump vec4 _Color; uniform float _Glossiness; UNITY_LOCATION(0) uniform mediump sampler2D _MainTex; UNITY_LOCATION(1) 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; mediump float u_xlat16_0; vec3 u_xlat1; mediump vec3 u_xlat16_1; vec3 u_xlat2; vec3 u_xlat3; mediump vec3 u_xlat16_4; mediump vec3 u_xlat16_5; float u_xlat6; float u_xlat16; void main() { u_xlat16_0 = max(_SpecColor.y, _SpecColor.x); u_xlat16_0 = max(u_xlat16_0, _SpecColor.z); u_xlat16_0 = (-u_xlat16_0) + 1.0; u_xlat1.x = dot(vs_TEXCOORD1.xyz, vs_TEXCOORD1.xyz); u_xlat1.x = inversesqrt(u_xlat1.x); u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD1.xyz; u_xlat16 = dot(vs_TEXCOORD4.xyz, vs_TEXCOORD4.xyz); u_xlat16 = inversesqrt(u_xlat16); u_xlat2.xyz = vec3(u_xlat16) * vs_TEXCOORD4.xyz; u_xlat16 = dot((-u_xlat1.xyz), u_xlat2.xyz); u_xlat16 = u_xlat16 + u_xlat16; u_xlat1.xyz = u_xlat2.xyz * (-vec3(u_xlat16)) + (-u_xlat1.xyz); u_xlat3.x = vs_TEXCOORD2.w; u_xlat3.y = vs_TEXCOORD3.w; u_xlat3.z = vs_TEXCOORD4.w; u_xlat1.x = dot(u_xlat1.xyz, u_xlat3.xyz); u_xlat6 = dot(u_xlat2.xyz, u_xlat3.xyz); u_xlat6 = clamp(u_xlat6, 0.0, 1.0); u_xlat16_5.xyz = vec3(u_xlat6) * _LightColor0.xyz; u_xlat1.x = u_xlat1.x * u_xlat1.x; u_xlat1.x = u_xlat1.x * u_xlat1.x; u_xlat1.y = (-_Glossiness) + 1.0; u_xlat1.x = texture(unity_NHxRoughness, u_xlat1.xy).x; u_xlat1.x = u_xlat1.x * 16.0; u_xlat16_4.xyz = u_xlat1.xxx * _SpecColor.xyz; u_xlat16_1.xyz = texture(_MainTex, vs_TEXCOORD0.xy).xyz; u_xlat1.xyz = u_xlat16_1.xyz * _Color.xyz; u_xlat16_4.xyz = u_xlat1.xyz * vec3(u_xlat16_0) + u_xlat16_4.xyz; SV_Target0.xyz = u_xlat16_5.xyz * u_xlat16_4.xyz; SV_Target0.w = 1.0; return; } #endif 3$Globals4 _LightColor0 _SpecColor_Color _Glossiness0 _MainTex_STà_DetailAlbedoMap_STð_UVSecunity_WorldToObject`unity_MatrixVP _MainTexunity_NHxRoughness$Globals