// replacements // -- uniform sampler2D _25103 = g_tTransformTexture // -- in _5275 = VS_INPUT_gl_vPositionOs _3208 = VS_INPUT_gl_vNormalOs _5800 = VS_INPUT_gl_vTexCoord _4489 = VS_INPUT_gl_vColorBlendValues _4543 = VS_INPUT_gl_vAlphaBlendValues _4772 = VS_INPUT_gl_vBlendColorTint _4571 = VS_INPUT_gl_vTransformTextureUV // -- out _4492 = PS_INPUT_gl_vPositionWs_flLinearDepth _3849 = PS_INPUT_gl_vNormalWs_flSpecularAmount _5503 = PS_INPUT_gl_vVertexColor _3142 = PS_INPUT_gl_vColorBlendValues_BlendY _4343 = PS_INPUT_gl_vAlphaBlendValues_BlendZ _5702 = PS_INPUT_gl_vBaseTexCoord0_vBaseTexCoord1 _3047 = PS_INPUT_gl_vBaseTexCoord2_vBaseTexCoord3 // --------------- GLSL //ATTRIBMAP-00-30-50-51-52-53-5D-xx #version 330 core // LunarGOO output #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_420pack : enable layout(std140, binding = 12 ) 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( binding = 18 ) uniform sampler2D g_tTransformTexture; layout(std140, binding = 13 ) uniform _Globals_ { float g_flTexCoordScale0; float g_flTexCoordScale1; float g_flTexCoordScale2; float g_flTexCoordRotate0; float g_flTexCoordRotate1; float g_flTexCoordRotate2; vec2 g_vTexCoordScroll0; vec2 g_vTexCoordScroll1; vec2 g_vTexCoordScroll2; vec2 g_vTexCoordOffset0; vec2 g_vTexCoordOffset1; vec2 g_vTexCoordOffset2; float g_flTexCoordScale3; float g_flTexCoordRotate3; vec2 g_vTexCoordScroll3; vec2 g_vTexCoordOffset3; } ; layout(std140) 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; } ; 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 sampler2DShadow g_tShadowDepthTexture; layout(location=0) in vec3 VS_INPUT_gl_vPositionOs; layout(location=1) in vec4 VS_INPUT_gl_vNormalOs; layout(location=2) in vec2 VS_INPUT_gl_vTexCoord; layout(location=3) in vec3 VS_INPUT_gl_vColorBlendValues; layout(location=4) in vec3 VS_INPUT_gl_vAlphaBlendValues; layout(location=5) in vec3 VS_INPUT_gl_vBlendColorTint; layout(location=6) in vec2 VS_INPUT_gl_vTransformTextureUV; out gl_PerVertex { vec4 gl_Position; float gl_ClipDistance[1]; } ; layout(location=0) out vec4 PS_INPUT_gl_vPositionWs_flLinearDepth; layout(location=1) out vec4 PS_INPUT_gl_vNormalWs_flSpecularAmount; layout(location=2) out vec4 PS_INPUT_gl_vVertexColor; layout(location=3) out vec4 PS_INPUT_gl_vColorBlendValues_BlendY; layout(location=4) out vec4 PS_INPUT_gl_vAlphaBlendValues_BlendZ; layout(location=5) out vec4 PS_INPUT_gl_vBaseTexCoord0_vBaseTexCoord1; layout(location=6) out vec4 PS_INPUT_gl_vBaseTexCoord2_vBaseTexCoord3; const float C_0d0 = 0.0; const ivec2 C_ivec2p1ca0p = ivec2(1, 0); const ivec2 C_ivec2p2ca0p = ivec2(2, 0); const vec4 C_vec4p255d0p = vec4(255.0); const vec4 C_avvsno = vec4(-128.0); const vec4 C_vec4p0d0p = vec4(0.0); const vec4 C_vec4pa64d0p = vec4(-64.0); const vec4 C_vec4p63d0p = vec4(63.0); const vec4 C_vec4p2d0p = vec4(2.0); const vec4 C_vec4p1d0p = vec4(1.0); const float C_1d0 = 1.0; const float C_2d0 = 2.0; const float C_0d0174533 = 0.0174533; const vec2 C_vec2pa0d5p = vec2(-0.5); const vec2 C_vec2p0d5p = vec2(0.5); const ivec2 C_ivec2p3ca0p = ivec2(3, 0); const vec3 C_vec3p0d5p = vec3(0.5); const float C_0d0001 = 0.0001; const vec3 C_vec3p12d92p = vec3(12.92); const vec3 C_vec3p1d055p = vec3(1.055); const vec3 C_bw96as = vec3(0.0521327); const vec3 C_vec3p2d4p = vec3(2.4); const float C_0d04045 = 0.04045; void main() { gl_ClipDistance[0] = C_0d0; vec4 vMatObjectToWorldRow = textureLod(g_tTransformTexture, VS_INPUT_gl_vTransformTextureUV, C_0d0); vec4 vMatObjectToWorldRow1 = textureLodOffset(g_tTransformTexture, VS_INPUT_gl_vTransformTextureUV, C_0d0, C_ivec2p1ca0p); vec4 vMatObjectToWorldRow2 = textureLodOffset(g_tTransformTexture, VS_INPUT_gl_vTransformTextureUV, C_0d0, C_ivec2p2ca0p); vec4 param = VS_INPUT_gl_vNormalOs * C_vec4p255d0p; vec4 H_s4fazc1 = param + C_avvsno; bvec4 H_nqcyuo = lessThan(H_s4fazc1, C_vec4p0d0p); vec4 ztztSignBits = vec4(H_nqcyuo); vec4 xyxyAbs = abs(H_s4fazc1); vec4 xyxyAbs1 = xyxyAbs - ztztSignBits; vec4 H_0msvjm1 = xyxyAbs1 + C_vec4pa64d0p; bvec4 H_xidabx = lessThan(H_0msvjm1, C_vec4p0d0p); vec4 xyxySignBits = vec4(H_xidabx); vec4 normTan = abs(H_0msvjm1); vec4 H_if834f1 = normTan - xyxySignBits; vec4 normTan1 = H_if834f1 / C_vec4p63d0p; vec4 H_s1685x1 = xyxySignBits * C_vec4p2d0p; vec4 xyxySigns = C_vec4p1d0p - H_s1685x1; float H_lk9i08 = C_1d0 - normTan1.x; float H_dvpao91 = H_lk9i08 - normTan1.y; vec3 H_7olu74 = vec3(normTan1.x, normTan1.y, H_dvpao91); vec3 o_vNormalOs = normalize(H_7olu74); vec2 H_g1gr9q = o_vNormalOs.xy * xyxySigns.xy; float _L = ztztSignBits.x * C_2d0; float H_46brk31 = C_1d0 - _L; float H_8dugyy = H_46brk31 * o_vNormalOs.z; vec4 H_crrejn = vec4(H_g1gr9q.x, H_g1gr9q.y, H_8dugyy, C_0d0); float dotres = dot(H_crrejn, vMatObjectToWorldRow); float dotres1 = dot(H_crrejn, vMatObjectToWorldRow1); float dotres2 = dot(H_crrejn, vMatObjectToWorldRow2); vec3 H_3cij4j1 = vec3(dotres, dotres1, dotres2); vec3 vNormalWs = normalize(H_3cij4j1); vec4 H_ol7vfn1 = vec4(VS_INPUT_gl_vPositionOs.x, VS_INPUT_gl_vPositionOs.y, VS_INPUT_gl_vPositionOs.z, C_1d0); float dotres3 = dot(H_ol7vfn1, vMatObjectToWorldRow); float dotres4 = dot(H_ol7vfn1, vMatObjectToWorldRow1); float dotres5 = dot(H_ol7vfn1, vMatObjectToWorldRow2); vec3 H_25kyhb = vec3(dotres3, dotres4, dotres5); vec3 H_uktff21 = H_25kyhb - g_vCameraPositionWs; float H_tuff051 = dot(g_vCameraDirWs, H_uktff21); vec4 H_l3q6cr1 = vec4(dotres3, dotres4, dotres5, H_tuff051); vec4 H_i8jodt1 = vec4(vNormalWs.x, vNormalWs.y, vNormalWs.z, C_0d0); vec4 H_ywfxcw = vec4(dotres3, dotres4, dotres5, C_1d0); vec4 H_attytl1 = H_ywfxcw + g_vWorldToCameraOffset; float dotres6 = dot(H_attytl1, g_matWorldToProjection[0]); float dotres7 = dot(H_attytl1, g_matWorldToProjection[1]); float dotres8 = dot(H_attytl1, g_matWorldToProjection[2]); float dotres9 = dot(H_attytl1, g_matWorldToProjection[3]); float param1 = g_flTexCoordRotate0 * C_0d0174533; vec2 H_6yh3dc1 = vec2(g_flTexCoordScale0); vec2 vAdjust = VS_INPUT_gl_vTexCoord + C_vec2pa0d5p; float H_vyry841 = cos(param1); float H_u7xj891 = sin(param1); float H_iezkfh = H_vyry841 * vAdjust.x; float H_mhulsx = H_u7xj891 * vAdjust.y; float H_y0fmjt1 = H_iezkfh - H_mhulsx; float H_l6gl2y = H_u7xj891 * vAdjust.x; float H_h3lkph = H_vyry841 * vAdjust.y; float H_az4w3d1 = H_h3lkph + H_l6gl2y; vec2 H_xaeqcg1 = vec2(H_y0fmjt1, H_az4w3d1); vec2 H_zssnl31 = H_6yh3dc1 * H_xaeqcg1; vec2 H_w8o9wl = H_zssnl31 + C_vec2p0d5p; vec2 H_ts6vqy1 = vec2(g_flTime); vec2 H_plg0l4 = H_ts6vqy1 * g_vTexCoordScroll0; vec2 H_3o1u4e = H_plg0l4 + H_w8o9wl; vec2 H_lphbe8 = H_3o1u4e + g_vTexCoordOffset0; float param2 = C_0d0174533 * g_flTexCoordRotate1; vec2 H_z234mk = vec2(g_flTexCoordScale1); float H_wniv4d1 = cos(param2); float H_5djdwf1 = sin(param2); float H_c5sk39 = H_wniv4d1 * vAdjust.x; float H_j48c411 = H_5djdwf1 * vAdjust.y; float H_5lge73 = H_c5sk39 - H_j48c411; float H_kfmcu01 = H_5djdwf1 * vAdjust.x; float H_budkd9 = H_wniv4d1 * vAdjust.y; float H_e3qiao = H_budkd9 + H_kfmcu01; vec2 H_d9r3ga = vec2(H_5lge73, H_e3qiao); vec2 H_o65ylk1 = H_d9r3ga * H_z234mk; vec2 H_330flm = C_vec2p0d5p + H_o65ylk1; vec2 H_qwu0b4 = H_ts6vqy1 * g_vTexCoordScroll1; vec2 H_w164nd = H_330flm + H_qwu0b4; vec2 H_nqfl681 = H_w164nd + g_vTexCoordOffset1; vec4 H_y1enr4 = vec4(H_lphbe8.x, H_lphbe8.y, H_nqfl681.x, H_nqfl681.y); float param3 = C_0d0174533 * g_flTexCoordRotate2; vec2 H_86eb9b1 = vec2(g_flTexCoordScale2); float H_x6o6531 = cos(param3); float H_wftr481 = sin(param3); float H_39rb4g = H_x6o6531 * vAdjust.x; float H_0xbs4o = H_wftr481 * vAdjust.y; float H_9k40i11 = H_39rb4g - H_0xbs4o; float H_zlxreo = H_wftr481 * vAdjust.x; float H_4k5cuf = H_x6o6531 * vAdjust.y; float H_wl9kjg = H_4k5cuf + H_zlxreo; vec2 H_h0lzdt1 = vec2(H_9k40i11, H_wl9kjg); vec2 H_px1u011 = H_86eb9b1 * H_h0lzdt1; vec2 H_er09gt = C_vec2p0d5p + H_px1u011; vec2 H_r79114 = H_ts6vqy1 * g_vTexCoordScroll2; vec2 H_zaxuyv = H_er09gt + H_r79114; vec2 H_hdefer1 = H_zaxuyv + g_vTexCoordOffset2; float param4 = C_0d0174533 * g_flTexCoordRotate3; vec2 H_17rqgn1 = vec2(g_flTexCoordScale3); float H_mwr5m3 = cos(param4); float H_jsp6w51 = sin(param4); float H_sa307h1 = H_mwr5m3 * vAdjust.x; float H_qfqblu = H_jsp6w51 * vAdjust.y; float H_uhmpaq = H_sa307h1 - H_qfqblu; float H_p4cbvu = H_jsp6w51 * vAdjust.x; float H_rzozgh1 = H_mwr5m3 * vAdjust.y; float H_vl7nyp1 = H_p4cbvu + H_rzozgh1; vec2 H_pzs58z = vec2(H_uhmpaq, H_vl7nyp1); vec2 H_u9vewx = H_17rqgn1 * H_pzs58z; vec2 H_2x8nm4 = C_vec2p0d5p + H_u9vewx; vec2 H_sin1r3 = H_ts6vqy1 * g_vTexCoordScroll3; vec2 H_fl3u25 = H_2x8nm4 + H_sin1r3; vec2 H_kxpfla = H_fl3u25 + g_vTexCoordOffset3; vec4 H_8xdht8 = vec4(H_hdefer1.x, H_hdefer1.y, H_kxpfla.x, H_kxpfla.y); vec4 vRet = textureLodOffset(g_tTransformTexture, VS_INPUT_gl_vTransformTextureUV, C_0d0, C_ivec2p3ca0p); vec3 H_9jgiys = VS_INPUT_gl_vAlphaBlendValues * C_vec3p0d5p; vec3 H_7rv8k2 = max(H_9jgiys, C_0d0001); vec3 vLinearSegment = VS_INPUT_gl_vBlendColorTint / C_vec3p12d92p; vec3 H_e3ai8x = VS_INPUT_gl_vBlendColorTint / C_vec3p1d055p; vec3 H_rq9rhu1 = H_e3ai8x + C_bw96as; vec3 vExpSegment = pow(H_rq9rhu1, C_vec3p2d4p); bool H_imsmae = VS_INPUT_gl_vBlendColorTint.x > C_0d04045; float select = H_imsmae ? vExpSegment.x : vLinearSegment.x; bool H_d2bi461 = VS_INPUT_gl_vBlendColorTint.y > C_0d04045; float select1 = H_d2bi461 ? vExpSegment.y : vLinearSegment.y; bool H_ctsg351 = VS_INPUT_gl_vBlendColorTint.z > C_0d04045; float select2 = H_ctsg351 ? vExpSegment.z : vLinearSegment.z; vec3 H_g5tqsp = vec3(select, select1, select2); vec3 H_euxrm51 = H_g5tqsp * vRet.xyz; vec4 H_498olf1 = vRet; H_498olf1.xyz = H_euxrm51.xyz; vec4 H_unzlmm1 = vec4(VS_INPUT_gl_vColorBlendValues.x, VS_INPUT_gl_vColorBlendValues.y, VS_INPUT_gl_vColorBlendValues.z, C_0d0); vec4 H_cobels1 = vec4(H_7rv8k2.x, H_7rv8k2.y, H_7rv8k2.z, C_0d0); PS_INPUT_gl_vPositionWs_flLinearDepth = H_l3q6cr1; PS_INPUT_gl_vNormalWs_flSpecularAmount = H_i8jodt1; PS_INPUT_gl_vVertexColor = H_498olf1; PS_INPUT_gl_vColorBlendValues_BlendY = H_unzlmm1; PS_INPUT_gl_vAlphaBlendValues_BlendZ = H_cobels1; PS_INPUT_gl_vBaseTexCoord0_vBaseTexCoord1 = H_y1enr4; PS_INPUT_gl_vBaseTexCoord2_vBaseTexCoord3 = H_8xdht8; float H_q212zt1 = C_0d0 - dotres7; float H_8665611 = C_2d0 * dotres8; float H_wyecv81 = H_8665611 - dotres9; vec4 H_dbr10s1 = vec4(dotres6, H_q212zt1, H_wyecv81, dotres9); gl_Position = H_dbr10s1; }