glsl[21] glsl-82746848e302f08edc438d67a47e60f3
#version 330 core
// LunarGOO output
#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_420pack : enable
struct PS_INPUT {
vec4 member0;
vec4 member1;
vec4 member2;
vec4 member3;
vec4 member4;
vec4 member5;
vec4 member6;
vec4 member7;
vec4 member8;
vec2 member9;
};
layout(std140, binding = 2 ) uniform PerViewConstantBuffer_t {
layout(row_major) mat4 g_matWorldToProjection;
layout(row_major) mat4 g_matProjectionToWorld;
layout(row_major) mat4 g_matWorldToView;
layout(row_major) mat4 g_matViewToProjection;
vec4 g_vInvProjRow3;
vec4 g_vClipPlane0;
float g_flToneMapScalarLinear;
float g_flLightMapScalar;
float g_flEnvMapScalar;
float g_flToneMapScalarGamma;
vec3 g_vCameraPositionWs;
float g_flViewportMinZ;
vec3 g_vCameraDirWs;
float g_flViewportMaxZ;
vec3 g_vCameraUpDirWs;
float g_flTime;
vec3 g_vDepthPsToVsConversion;
float g_flNearPlane;
float g_flFarPlane;
float g_flLightBinnerFarPlane;
vec2 g_vInvViewportSize;
vec2 g_vViewportToGBufferRatio;
vec2 g_vMorphTextureAtlasSize;
vec4 g_vInvGBufferSize;
vec2 g_vViewportOffset;
vec2 g_vViewportSize;
vec2 g_vRenderTargetSize;
float g_flFogBlendToBackground;
float g_flHenyeyGreensteinCoeff;
vec3 g_vFogColor;
float g_flNegFogStartOverFogRange;
float g_flInvFogRange;
float g_flFogMaxDensity;
float g_flFogExponent;
float g_flMod2xIdentity;
float g_bStereoEnabled;
float g_flStereoCameraIndex;
float g_fInvViewportZRange;
float g_fMinViewportZScaled;
vec3 g_vMiddleEyePositionWs;
float g_flPad2;
layout(row_major) mat4 g_matWorldToProjectionMultiview[2];
vec4 g_vCameraPositionWsMultiview[2];
vec4 g_vFrameBufferCopyInvSizeAndUvScale;
vec4 g_vCameraAngles;
vec4 g_vWorldToCameraOffset;
vec4 g_vWorldToCameraOffsetMultiview[2];
vec4 g_vPerViewConstantExtraData0;
vec4 g_vPerViewConstantExtraData1;
vec4 g_vPerViewConstantExtraData2;
vec4 g_vPerViewConstantExtraData3;
} ;
layout(std140, binding = 1 ) uniform DotaGlobalParams_t {
vec3 g_vGlobalLightDir;
vec3 g_vGlobalLightColor;
float g_flGlobalLightSpecularScale;
vec3 g_vGlobalLightSpecularDir;
float g_flGlobalLightSpecularExp;
vec3 g_vGlobalLightSpecularColor;
float g_flGlobalLightSpecularIndependence;
vec3 g_vGlobalLightAmbientDir;
float g_flGlobalLightAmbientScale1;
vec3 g_vGlobalLightAmbientColor1;
float g_flGlobalLightAmbientScale2;
vec3 g_vGlobalLightAmbientColor2;
float g_flGlobalLightAmbientScale2Hero;
vec2 g_vGlobalCloud1Offset;
vec2 g_vGlobalCloud2Offset;
vec3 g_vFowColor;
float g_flGlobalCloudScale;
float g_flFowDarkness;
float g_flFowGrayFactor;
float g_flFowColorFactor;
float g_flFowGrayHilights;
vec4 g_vFowWorldSize;
vec4 g_vFowTexOffsets;
layout(row_major) mat4 g_matShadowWorldToTexture;
vec4 g_vInvShadowDepthTextureSize;
vec3 g_vGlobalLightAmbientColor3;
float g_flGlobalLightAmbientShadowAmount;
} ;
layout( binding = 4 ) uniform sampler2DShadow g_tShadowDepthTexture;
layout(std140, binding = 0 ) uniform _Globals_ {
float g_flBumpStrength;
vec3 g_vColorTint0;
vec3 g_vColorTint1;
vec3 g_vColorTint2;
vec3 g_vColorTint3;
vec3 g_vColorTintB0;
vec3 g_vColorTintB1;
vec3 g_vColorTintB2;
vec3 g_vColorTintB3;
vec4 g_vGlobalTint;
vec3 g_vBorderColorTint1;
vec3 g_vBorderColorTint2;
vec3 g_vBorderColorTint3;
float g_flBorderOffset1;
float g_flBorderOffset2;
float g_flBorderOffset3;
float g_flBorderTintStrength1;
float g_flBorderTintStrength2;
float g_flBorderTintStrength3;
float g_flBorderTintSoftness1;
float g_flBorderTintSoftness2;
float g_flBorderTintSoftness3;
float g_flTexCoordScale0;
float g_flTexCoordRotate0;
vec2 g_vTexCoordScroll0;
vec2 g_vTexCoordOffset0;
float g_flTexCoordScale1;
float g_flTexCoordRotate1;
vec2 g_vTexCoordScroll1;
vec2 g_vTexCoordOffset1;
float g_flTexCoordScale2;
float g_flTexCoordRotate2;
vec2 g_vTexCoordScroll2;
vec2 g_vTexCoordOffset2;
vec3 g_vTexCoordTransform2U;
vec3 g_vTexCoordTransform2V;
float g_flTexCoordScale3;
float g_flTexCoordRotate3;
vec2 g_vTexCoordScroll3;
vec2 g_vTexCoordOffset3;
vec3 g_vTexCoordTransform3U;
vec3 g_vTexCoordTransform3V;
vec3 g_vNormalTransform0U;
vec3 g_vNormalTransform0V;
vec3 g_vNormalTransform1U;
vec3 g_vNormalTransform1V;
vec3 g_vNormalTransform2U;
vec3 g_vNormalTransform2V;
vec3 g_vNormalTransform3U;
vec3 g_vNormalTransform3V;
} ;
layout( binding = 0 ) uniform sampler2D g_tColor0;
layout( binding = 1 ) uniform sampler2D g_tColor1;
layout( binding = 2 ) uniform sampler2D g_tColor2;
layout( binding = 3 ) uniform sampler2D g_tColor3;
uniform sampler2D g_tFow;
uniform sampler2D g_tFrameBufferCopyTexture;
uniform sampler2D g_tDepthTexture;
uniform sampler2D g_tGBufferAlbedo;
uniform sampler2D g_tGBufferLightingTerms;
uniform sampler2D g_tGBufferDepth;
uniform sampler2D g_tGBufferNormalWs;
layout(std140) uniform PerLayerConstantBuffer_t {
vec4 g_vWireframeColor;
} ;
uniform sampler2D g_tClouds;
uniform sampler2D g_tTintMasks;
layout(location=0) in vec4 PS_INPUT_gl_vPositionWs_flLinearDepth;
layout(location=1) in vec4 PS_INPUT_gl_vNormalWs_flSpecularAmount;
layout(location=2) in vec4 PS_INPUT_gl_vVertexColor;
layout(location=3) in vec4 PS_INPUT_gl_vColorBlendValues_BlendY;
layout(location=4) in vec4 PS_INPUT_gl_vAlphaBlendValues_BlendZ;
layout(location=5) in vec4 PS_INPUT_gl_vProjTexCoord0_X_Y;
layout(location=6) in vec4 PS_INPUT_gl_vProjTexCoord1_X_Y;
layout(location=7) in vec4 PS_INPUT_gl_vProjTexCoord2_X_Y;
layout(location=8) in vec4 PS_INPUT_gl_vProjTexCoord_0Z_1Z;
layout(location=9) in vec2 PS_INPUT_gl_vProjTexCoord_2Z;
layout(location=0) out vec4 PS_OUTPUT_gl_vDiffuse;
layout(location=1) out vec4 PS_OUTPUT_gl_flDepth;
const vec3 C_vec3p128d0p = vec3(128.0);
const float C_0d0 = 0.0;
const float C_1d0 = 1.0;
const float C_2d0 = 2.0;
const vec3 C_vec3p0d0p = vec3(0.0);
const vec4 C_wt9i7t = vec4(0.0749064);
const vec2 C_a1z03r = vec2(0.0, 0.0);
const vec4 C_a1xzaw1 = vec4(0.123596);
const float C_0d205993 = 0.205993;
const float C_1d85 = 1.85;
const float C_0d45 = 0.45;
const float C_2d1 = 2.1;
const float C_0d5 = 0.5;
const vec3 C_kfumqy1 = vec3(0.2125, 0.7154, 0.0721);
void main()
{
PS_INPUT param;
PS_INPUT mainIn;
mainIn.member0 = PS_INPUT_gl_vPositionWs_flLinearDepth;
mainIn.member1 = PS_INPUT_gl_vNormalWs_flSpecularAmount;
mainIn.member2 = PS_INPUT_gl_vVertexColor;
mainIn.member3 = PS_INPUT_gl_vColorBlendValues_BlendY;
mainIn.member4 = PS_INPUT_gl_vAlphaBlendValues_BlendZ;
mainIn.member5 = PS_INPUT_gl_vProjTexCoord0_X_Y;
mainIn.member6 = PS_INPUT_gl_vProjTexCoord1_X_Y;
mainIn.member7 = PS_INPUT_gl_vProjTexCoord2_X_Y;
mainIn.member8 = PS_INPUT_gl_vProjTexCoord_0Z_1Z;
mainIn.member9 = PS_INPUT_gl_vProjTexCoord_2Z;
vec3 vGeometricNormalWs = normalize(mainIn.member1.xyz);
vec3 vScaledPos = mainIn.member0.xyz / C_vec3p128d0p;
float H_wq616s = C_0d0 - vScaledPos.z;
vec3 H_moxbzf1 = vec3(vScaledPos.y, H_wq616s, C_1d0);
vec3 H_nhxvm9 = vScaledPos;
H_nhxvm9.yz = vec2(H_wq616s, C_1d0);
float H_ttzzzs = C_0d0 - vScaledPos.y;
vec3 H_nhxvm9r = vScaledPos;
H_nhxvm9r.yz = vec2(H_ttzzzs, C_1d0);
float vProjTexCoord_3X = dot(g_vTexCoordTransform3U, H_moxbzf1);
float vProjTexCoord_3X1 = dot(g_vTexCoordTransform3V, H_moxbzf1);
vec2 H_56v5wc = vec2(vProjTexCoord_3X, vProjTexCoord_3X1);
float vProjTexCoord_3Y = dot(g_vTexCoordTransform3U, H_nhxvm9);
float vProjTexCoord_3Y1 = dot(g_vTexCoordTransform3V, H_nhxvm9);
vec2 H_d4o2x91 = vec2(vProjTexCoord_3Y, vProjTexCoord_3Y1);
float vProjTexCoord_3Z = dot(g_vTexCoordTransform3U, H_nhxvm9r);
float vProjTexCoord_3Z1 = dot(g_vTexCoordTransform3V, H_nhxvm9r);
vec2 H_9xv0dz = vec2(vProjTexCoord_3Z, vProjTexCoord_3Z1);
float param1 = mainIn.member3.w * C_2d0;
float misc3a = clamp(param1, C_0d0, C_1d0);
float param2 = C_2d0 * mainIn.member4.w;
float misc3a1 = clamp(param2, C_0d0, C_1d0);
vec4 vDiffuse0_X = texture(g_tColor0, mainIn.member5.xy);
vec4 vDiffuse1_X = texture(g_tColor1, mainIn.member6.xy);
vec4 vDiffuse2_X = texture(g_tColor2, mainIn.member7.xy);
vec4 vDiffuse3_X = texture(g_tColor3, H_56v5wc);
vec4 vDiffuse0_Y = texture(g_tColor0, mainIn.member5.zw);
vec4 vDiffuse1_Y = texture(g_tColor1, mainIn.member6.zw);
vec4 vDiffuse2_Y = texture(g_tColor2, mainIn.member7.zw);
vec4 vDiffuse3_Y = texture(g_tColor3, H_d4o2x91);
vec4 vDiffuse = mix(vDiffuse0_X, vDiffuse0_Y, misc3a);
vec4 vDiffuse1 = mix(vDiffuse1_X, vDiffuse1_Y, misc3a);
vec4 vDiffuse2 = mix(vDiffuse2_X, vDiffuse2_Y, misc3a);
vec4 vDiffuse3 = mix(vDiffuse3_X, vDiffuse3_Y, misc3a);
vec4 vDiffuse0_Z = texture(g_tColor0, mainIn.member8.xy);
vec4 vDiffuse1_Z = texture(g_tColor1, mainIn.member8.zw);
vec4 vDiffuse2_Z = texture(g_tColor2, mainIn.member9);
vec4 vDiffuse3_Z = texture(g_tColor3, H_9xv0dz);
vec4 vDiffuse4 = mix(vDiffuse, vDiffuse0_Z, misc3a1);
vec4 vDiffuse5 = mix(vDiffuse1, vDiffuse1_Z, misc3a1);
vec4 vDiffuse6 = mix(vDiffuse2, vDiffuse2_Z, misc3a1);
vec4 vDiffuse7 = mix(vDiffuse3, vDiffuse3_Z, misc3a1);
vec3 H_adwfjt = g_vColorTint0 * vDiffuse4.xyz;
vec3 H_2uorw41 = g_vColorTint1 * vDiffuse5.xyz;
vec3 H_iretb91 = g_vColorTint2 * vDiffuse6.xyz;
vec3 H_elqzps1 = g_vColorTint3 * vDiffuse7.xyz;
float H_8uuilq = vDiffuse5.w - mainIn.member4.x;
float minb = max(C_0d0, H_8uuilq);
float H_co5txr = mainIn.member4.x + vDiffuse5.w;
float maxb = min(C_1d0, H_co5txr);
float flResult = smoothstep(minb, maxb, mainIn.member3.x);
vec3 H_ce1opy1 = vec3(flResult);
float H_4abpfv = C_1d0 - flResult;
float H_cm5tb5 = vDiffuse6.w - mainIn.member4.y;
float minb1 = max(C_0d0, H_cm5tb5);
float H_qdcaay = mainIn.member4.y + vDiffuse6.w;
float maxb1 = min(C_1d0, H_qdcaay);
float flResult1 = smoothstep(minb1, maxb1, mainIn.member3.y);
float flResult2 = clamp(flResult1, C_0d0, H_4abpfv);
vec3 H_cy3lxl = vec3(flResult2);
float H_x6pp2y1 = H_4abpfv - flResult2;
float H_wbvjh1 = vDiffuse7.w - mainIn.member4.z;
float minb2 = max(C_0d0, H_wbvjh1);
float H_gtnp7p = mainIn.member4.z + vDiffuse7.w;
float maxb2 = min(C_1d0, H_gtnp7p);
float flResult3 = smoothstep(minb2, maxb2, mainIn.member3.z);
float flResult4 = clamp(flResult3, C_0d0, H_x6pp2y1);
vec3 H_yruoot = vec3(flResult4);
float H_8qsjgf1 = H_x6pp2y1 - flResult4;
vec3 H_q3sb44 = vec3(H_8qsjgf1);
vec3 H_4tnkpv1 = H_adwfjt * H_q3sb44;
vec3 H_ta891u = H_2uorw41 * H_ce1opy1;
vec3 H_4shfzo = H_4tnkpv1 + H_ta891u;
vec3 H_w51zmw1 = H_cy3lxl * H_iretb91;
vec3 H_0c65c4 = H_4shfzo + H_w51zmw1;
vec3 H_p7evn9 = H_elqzps1 * H_yruoot;
vec3 H_8qdrsk = H_0c65c4 + H_p7evn9;
vec3 H_y9edl61 = H_8qdrsk * mainIn.member2.xyz;
vec3 flSpecularRGB = g_vGlobalLightSpecularColor * C_vec3p0d0p;
float misc3a2 = clamp(g_flGlobalLightSpecularIndependence, C_0d0, C_1d0);
vec3 H_7pnklg = vec3(misc3a2);
float H_f5a1k1 = C_1d0 - misc3a2;
vec3 H_77m74o1 = vec3(H_f5a1k1);
vec3 H_20dm1p = H_77m74o1 * flSpecularRGB;
vec3 H_y4fmdv = H_20dm1p + H_y9edl61;
vec3 H_j03jbn = C_vec3p0d0p - g_vGlobalLightDir;
float flNDotL = dot(H_j03jbn, vGeometricNormalWs);
float misc3a3 = clamp(flNDotL, C_0d0, C_1d0);
float product = g_matShadowWorldToTexture[0].x * mainIn.member0.x;
float product1 = g_matShadowWorldToTexture[1].x * mainIn.member0.y;
float dotProduct = product + product1;
float product2 = g_matShadowWorldToTexture[2].x * mainIn.member0.z;
float dotProduct1 = dotProduct + product2;
float dotProduct2 = dotProduct1 + g_matShadowWorldToTexture[3].x;
float product3 = g_matShadowWorldToTexture[0].y * mainIn.member0.x;
float product4 = g_matShadowWorldToTexture[1].y * mainIn.member0.y;
float dotProduct3 = product3 + product4;
float product5 = g_matShadowWorldToTexture[2].y * mainIn.member0.z;
float dotProduct4 = dotProduct3 + product5;
float dotProduct5 = dotProduct4 + g_matShadowWorldToTexture[3].y;
float product6 = g_matShadowWorldToTexture[0].z * mainIn.member0.x;
float product7 = g_matShadowWorldToTexture[1].z * mainIn.member0.y;
float dotProduct6 = product6 + product7;
float product8 = g_matShadowWorldToTexture[2].z * mainIn.member0.z;
float dotProduct7 = dotProduct6 + product8;
float dotProduct8 = dotProduct7 + g_matShadowWorldToTexture[3].z;
float product9 = g_matShadowWorldToTexture[0].w * mainIn.member0.x;
float producta = g_matShadowWorldToTexture[1].w * mainIn.member0.y;
float dotProduct9 = product9 + producta;
float productb = g_matShadowWorldToTexture[2].w * mainIn.member0.z;
float dotProducta = dotProduct9 + productb;
float dotProductb = dotProducta + g_matShadowWorldToTexture[3].w;
vec3 H_16wbh81 = vec3(dotProductb);
vec3 H_mo5dbs1 = vec3(dotProduct2, dotProduct5, dotProduct8);
vec3 H_qdsg5k1 = H_mo5dbs1 / H_16wbh81;
float param3 = C_0d0 - H_qdsg5k1.z;
float misc3a4 = clamp(param3, C_0d0, C_1d0);
float H_60ojyb = C_0d0 - g_vInvShadowDepthTextureSize.x;
vec2 H_t5te6f = vec2(H_60ojyb);
vec2 H_ep5c3j1 = H_qdsg5k1.xy + g_vInvShadowDepthTextureSize.xx;
vec3 H_msqlvi = vec3(H_ep5c3j1.x, H_ep5c3j1.y, misc3a4);
float H_pfhqbt1 = textureLod(g_tShadowDepthTexture, H_msqlvi, C_0d0);
vec2 H_pv0in9 = vec2(H_60ojyb, g_vInvShadowDepthTextureSize.x);
vec2 H_he48ts = H_pv0in9 + H_qdsg5k1.xy;
vec3 H_anpi7s = vec3(H_he48ts.x, H_he48ts.y, misc3a4);
float H_rra2j11 = textureLod(g_tShadowDepthTexture, H_anpi7s, C_0d0);
vec2 H_t32u4i1 = vec2(g_vInvShadowDepthTextureSize.x, H_60ojyb);
vec2 H_3zubtq = H_qdsg5k1.xy + H_t32u4i1;
vec3 H_igygek1 = vec3(H_3zubtq.x, H_3zubtq.y, misc3a4);
float H_2abuie = textureLod(g_tShadowDepthTexture, H_igygek1, C_0d0);
vec2 H_r37y1w = H_qdsg5k1.xy + H_t5te6f;
vec3 H_up1qjg1 = vec3(H_r37y1w.x, H_r37y1w.y, misc3a4);
float H_2b6uc4 = textureLod(g_tShadowDepthTexture, H_up1qjg1, C_0d0);
vec4 H_7il6qo = vec4(H_pfhqbt1, H_rra2j11, H_2abuie, H_2b6uc4);
float flSum = dot(H_7il6qo, C_wt9i7t);
vec2 H_e9rh661 = vec2(g_vInvShadowDepthTextureSize.x, C_0d0);
vec2 H_85dk7x = H_e9rh661 + H_qdsg5k1.xy;
vec3 H_mytg2n1 = vec3(H_85dk7x.x, H_85dk7x.y, misc3a4);
float H_n0c46n = textureLod(g_tShadowDepthTexture, H_mytg2n1, C_0d0);
vec2 H_na4vhz = vec2(H_60ojyb, C_0d0);
vec2 H_iybrli = H_na4vhz + H_qdsg5k1.xy;
vec3 H_ivxk8j1 = vec3(H_iybrli.x, H_iybrli.y, misc3a4);
float H_22sl4p1 = textureLod(g_tShadowDepthTexture, H_ivxk8j1, C_0d0);
vec2 H_23b4ob1 = C_a1z03r;
H_23b4ob1.y = H_60ojyb;
vec2 H_wcm3cs = H_23b4ob1 + H_qdsg5k1.xy;
vec3 H_aaf3c01 = vec3(H_wcm3cs.x, H_wcm3cs.y, misc3a4);
float H_kohr3d1 = textureLod(g_tShadowDepthTexture, H_aaf3c01, C_0d0);
vec2 H_23b4ob1r = C_a1z03r;
H_23b4ob1r.y = g_vInvShadowDepthTextureSize.x;
vec2 H_omz8p81 = H_23b4ob1r + H_qdsg5k1.xy;
vec3 H_mbixvk = vec3(H_omz8p81.x, H_omz8p81.y, misc3a4);
float H_8l9juu = textureLod(g_tShadowDepthTexture, H_mbixvk, C_0d0);
vec4 H_ihq79x1 = vec4(H_n0c46n, H_22sl4p1, H_kohr3d1, H_8l9juu);
float flSum1 = dot(H_ihq79x1, C_a1xzaw1);
float flSum2 = flSum + flSum1;
vec3 H_wbit1t = vec3(H_qdsg5k1.x, H_qdsg5k1.y, misc3a4);
float flSum3 = textureLod(g_tShadowDepthTexture, H_wbit1t, C_0d0);
float H_xchcee1 = flSum3 * C_0d205993;
float flSum4 = H_xchcee1 + flSum2;
vec3 H_k9xsqt1 = vec3(flSum4);
float flDirectionalAmbientShadow = mix(C_1d0, flSum4, g_flGlobalLightAmbientShadowAmount);
float flDirectOcclusionFactor = pow(C_1d0, C_1d85);
float flDirectOcclusionFactor1 = mix(C_0d45, C_1d0, flDirectOcclusionFactor);
float flIndirectOcclusionFactor = pow(C_1d0, C_2d1);
vec3 H_fx1uua = vec3(g_flGlobalLightAmbientScale1);
vec3 vDirectionalAmbientColor = H_fx1uua * g_vGlobalLightAmbientColor1;
float H_guttgv1 = vGeometricNormalWs.z * C_0d5;
float H_0yyagq1 = C_0d5 + H_guttgv1;
vec3 vShadowAmbientColor = mix(g_vGlobalLightAmbientColor3, g_vGlobalLightAmbientColor2, H_0yyagq1);
vec3 H_s7noda1 = vec3(g_flGlobalLightAmbientScale2);
vec3 vShadowAmbientColor1 = H_s7noda1 * vShadowAmbientColor;
float flLuminance = dot(vDirectionalAmbientColor, C_kfumqy1);
vec3 H_t1lelu1 = vec3(flLuminance);
float flLuminance1 = dot(vShadowAmbientColor1, C_kfumqy1);
vec3 H_chpant1 = vec3(flLuminance1);
vec3 vDirectionalAmbientColor1 = mix(vDirectionalAmbientColor, H_t1lelu1, C_vec3p0d0p);
vec3 vShadowAmbientColor2 = mix(vShadowAmbientColor1, H_chpant1, C_vec3p0d0p);
float H_1fxyk9 = flSum4 * misc3a3;
float H_09rr4v1 = H_1fxyk9 * flDirectOcclusionFactor1;
vec3 H_grf5hu = vec3(H_09rr4v1);
vec3 vDirectLight = H_grf5hu * g_vGlobalLightColor;
float vDirectionalAmbientLight = dot(g_vGlobalLightAmbientDir, vGeometricNormalWs);
float misc3a5 = clamp(vDirectionalAmbientLight, C_0d0, C_1d0);
float H_m4by5e = flDirectionalAmbientShadow * misc3a5;
float H_64fuii = H_m4by5e * flIndirectOcclusionFactor;
vec3 H_9cizox = vec3(H_64fuii);
vec3 vDirectionalAmbientLight1 = H_9cizox * vDirectionalAmbientColor1;
float H_epes411 = C_1d0 - H_1fxyk9;
float H_h2z1ua = H_epes411 * flIndirectOcclusionFactor;
vec3 H_t2bxsq = vec3(H_h2z1ua);
vec3 vShadowAmbientLight = H_t2bxsq * vShadowAmbientColor2;
vec3 H_8w78gv1 = vDirectLight + vDirectionalAmbientLight1;
vec3 vLighting = H_8w78gv1 + vShadowAmbientLight;
vec3 H_qjwfke1 = H_y4fmdv * vLighting;
vec3 H_bcfwoi = vec3(g_flGlobalLightSpecularScale);
vec3 H_knhpna = H_bcfwoi * flSpecularRGB;
vec3 H_8xrc791 = H_7pnklg * H_knhpna;
vec3 H_0v3pae1 = H_8xrc791 * H_k9xsqt1;
vec3 H_dyq3jj1 = H_0v3pae1 + H_qjwfke1;
vec4 H_0y7wz = vec4(mainIn.member0.x, mainIn.member0.y, mainIn.member0.z, C_1d0);
float flClipPlaneDist = dot(g_vClipPlane0, H_0y7wz);
float param4 = flClipPlaneDist * g_flInvFogRange;
float misc3a6 = clamp(param4, C_0d0, C_1d0);
vec4 H_sarcf8 = vec4(H_dyq3jj1.x, H_dyq3jj1.y, H_dyq3jj1.z, misc3a6);
PS_OUTPUT_gl_vDiffuse = H_sarcf8;
PS_OUTPUT_gl_flDepth = mainIn.member0.wwww;
}