̺u x#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 _ProjectionParams; uniform vec4 hlslcc_mtx4x4unity_ObjectToWorld[4]; uniform vec4 hlslcc_mtx4x4unity_WorldToObject[4]; uniform vec4 hlslcc_mtx4x4unity_MatrixV[4]; uniform vec4 hlslcc_mtx4x4unity_MatrixInvV[4]; uniform vec4 hlslcc_mtx4x4unity_MatrixVP[4]; uniform vec4 _TreeInstanceScale; uniform vec4 hlslcc_mtx4x4_TerrainEngineBendTree[4]; uniform vec4 _SquashPlaneNormal; uniform float _SquashAmount; in highp vec4 in_POSITION0; in highp vec3 in_NORMAL0; in mediump vec4 in_COLOR0; in highp vec4 in_TEXCOORD0; out highp vec2 vs_TEXCOORD0; out highp vec4 vs_TEXCOORD1; vec4 u_xlat0; vec4 u_xlat1; float u_xlat2; float u_xlat6; void main() { u_xlat0.xyz = in_POSITION0.xyz * _TreeInstanceScale.xyz; u_xlat1.xyz = u_xlat0.yyy * hlslcc_mtx4x4_TerrainEngineBendTree[1].xyz; u_xlat1.xyz = hlslcc_mtx4x4_TerrainEngineBendTree[0].xyz * u_xlat0.xxx + u_xlat1.xyz; u_xlat1.xyz = hlslcc_mtx4x4_TerrainEngineBendTree[2].xyz * u_xlat0.zzz + u_xlat1.xyz; u_xlat1.xyz = (-in_POSITION0.xyz) * _TreeInstanceScale.xyz + u_xlat1.xyz; u_xlat0.xyz = in_COLOR0.www * u_xlat1.xyz + u_xlat0.xyz; u_xlat6 = dot(_SquashPlaneNormal.xyz, u_xlat0.xyz); u_xlat6 = u_xlat6 + _SquashPlaneNormal.w; u_xlat1.xyz = (-vec3(u_xlat6)) * _SquashPlaneNormal.xyz + u_xlat0.xyz; u_xlat0.xyz = u_xlat0.xyz + (-u_xlat1.xyz); u_xlat0.xyz = vec3(_SquashAmount) * u_xlat0.xyz + u_xlat1.xyz; u_xlat1 = u_xlat0.yyyy * hlslcc_mtx4x4unity_ObjectToWorld[1]; u_xlat1 = hlslcc_mtx4x4unity_ObjectToWorld[0] * u_xlat0.xxxx + u_xlat1; u_xlat0 = hlslcc_mtx4x4unity_ObjectToWorld[2] * u_xlat0.zzzz + u_xlat1; 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; vs_TEXCOORD0.xy = in_TEXCOORD0.xy; u_xlat2 = u_xlat0.y * hlslcc_mtx4x4unity_MatrixV[1].z; u_xlat0.x = hlslcc_mtx4x4unity_MatrixV[0].z * u_xlat0.x + u_xlat2; u_xlat0.x = hlslcc_mtx4x4unity_MatrixV[2].z * u_xlat0.z + u_xlat0.x; u_xlat0.x = hlslcc_mtx4x4unity_MatrixV[3].z * u_xlat0.w + u_xlat0.x; u_xlat0.x = u_xlat0.x * _ProjectionParams.w; vs_TEXCOORD1.w = (-u_xlat0.x); u_xlat0.xyz = hlslcc_mtx4x4unity_WorldToObject[1].xyz * hlslcc_mtx4x4unity_MatrixInvV[0].yyy; u_xlat0.xyz = hlslcc_mtx4x4unity_WorldToObject[0].xyz * hlslcc_mtx4x4unity_MatrixInvV[0].xxx + u_xlat0.xyz; u_xlat0.xyz = hlslcc_mtx4x4unity_WorldToObject[2].xyz * hlslcc_mtx4x4unity_MatrixInvV[0].zzz + u_xlat0.xyz; u_xlat0.xyz = hlslcc_mtx4x4unity_WorldToObject[3].xyz * hlslcc_mtx4x4unity_MatrixInvV[0].www + u_xlat0.xyz; u_xlat0.x = dot(u_xlat0.xyz, in_NORMAL0.xyz); u_xlat1.xyz = hlslcc_mtx4x4unity_WorldToObject[1].xyz * hlslcc_mtx4x4unity_MatrixInvV[1].yyy; u_xlat1.xyz = hlslcc_mtx4x4unity_WorldToObject[0].xyz * hlslcc_mtx4x4unity_MatrixInvV[1].xxx + u_xlat1.xyz; u_xlat1.xyz = hlslcc_mtx4x4unity_WorldToObject[2].xyz * hlslcc_mtx4x4unity_MatrixInvV[1].zzz + u_xlat1.xyz; u_xlat1.xyz = hlslcc_mtx4x4unity_WorldToObject[3].xyz * hlslcc_mtx4x4unity_MatrixInvV[1].www + u_xlat1.xyz; u_xlat0.y = dot(u_xlat1.xyz, in_NORMAL0.xyz); u_xlat1.xyz = hlslcc_mtx4x4unity_WorldToObject[1].xyz * hlslcc_mtx4x4unity_MatrixInvV[2].yyy; u_xlat1.xyz = hlslcc_mtx4x4unity_WorldToObject[0].xyz * hlslcc_mtx4x4unity_MatrixInvV[2].xxx + u_xlat1.xyz; u_xlat1.xyz = hlslcc_mtx4x4unity_WorldToObject[2].xyz * hlslcc_mtx4x4unity_MatrixInvV[2].zzz + u_xlat1.xyz; u_xlat1.xyz = hlslcc_mtx4x4unity_WorldToObject[3].xyz * hlslcc_mtx4x4unity_MatrixInvV[2].www + u_xlat1.xyz; u_xlat0.z = dot(u_xlat1.xyz, in_NORMAL0.xyz); u_xlat6 = dot(u_xlat0.xyz, u_xlat0.xyz); u_xlat6 = inversesqrt(u_xlat6); u_xlat0.xyz = vec3(u_xlat6) * u_xlat0.xyz; vs_TEXCOORD1.xyz = (-u_xlat0.xyz); 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 float _Cutoff; UNITY_LOCATION(0) uniform mediump sampler2D _MainTex; in highp vec2 vs_TEXCOORD0; in highp vec4 vs_TEXCOORD1; layout(location = 0) out mediump vec4 SV_Target0; vec4 u_xlat0; mediump float u_xlat16_0; bool u_xlatb0; mediump float u_xlat16_1; vec2 u_xlat2; void main() { u_xlat16_0 = texture(_MainTex, vs_TEXCOORD0.xy).w; u_xlat16_1 = u_xlat16_0 + (-_Cutoff); u_xlatb0 = u_xlat16_1<0.0; if(u_xlatb0){discard;} u_xlat0.x = vs_TEXCOORD1.z + 1.0; u_xlat0.xy = vs_TEXCOORD1.xy / u_xlat0.xx; u_xlat0.xy = u_xlat0.xy * vec2(0.281262308, 0.281262308) + vec2(0.5, 0.5); u_xlat2.xy = vs_TEXCOORD1.ww * vec2(1.0, 255.0); u_xlat2.xy = fract(u_xlat2.xy); u_xlat0.z = (-u_xlat2.y) * 0.00392156886 + u_xlat2.x; u_xlat0.w = u_xlat2.y; SV_Target0 = u_xlat0; return; } #endif $Globals _Cutoff_TreeInstanceScaleP_SquashPlaneNormal  _SquashAmount°unity_ObjectToWorldunity_WorldToObjectP unity_MatrixVunity_MatrixInvVÐunity_MatrixVP_TerrainEngineBendTree`_MainTex$Globals