-- ================================================================ -- SIGMA SHADERS -- ================================================================ local Players = game:GetService("Players") local Lighting = game:GetService("Lighting") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Workspace = game:GetService("Workspace") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") -- Safely remove any old versions of the GUI if playerGui:FindFirstChild("SigmaShadersGui") then playerGui.SigmaShadersGui:Destroy() end -- Global RGB Color Cycle for UI accents local currentRGB = Color3.fromRGB(0, 170, 255) RunService.RenderStepped:Connect(function() local hue = (tick() * 0.15) % 1 currentRGB = Color3.fromHSV(hue, 0.85, 1) end) -- Shader Toggles State Table (All Shaders Available to Combine) local shaderStates = { Bloom = false, ColorGrade = false, DepthField = false, SunRays = false, UltraShine = false } -- Effect Object Holders local activeEffects = { Bloom = nil, ColorGrade = nil, DepthField = nil, SunRays = nil } -- Shader Engine Manager (Allows stacking multiple shaders together) local function refreshShaderEngine() -- 1. Cinematic Bloom Effect if shaderStates.Bloom then if not activeEffects.Bloom then local b = Instance.new("BloomEffect", Lighting) b.Intensity = 0.85 b.Size = 35 b.Threshold = 0.45 activeEffects.Bloom = b end else if activeEffects.Bloom then activeEffects.Bloom:Destroy(); activeEffects.Bloom = nil end end -- 2. Vibrant Color Grade Effect if shaderStates.ColorGrade then if not activeEffects.ColorGrade then local cc = Instance.new("ColorCorrectionEffect", Lighting) cc.Brightness = 0.04 cc.Contrast = 0.4 cc.Saturation = 0.35 cc.TintColor = Color3.fromRGB(245, 238, 255) activeEffects.ColorGrade = cc end else if activeEffects.ColorGrade then activeEffects.ColorGrade:Destroy(); activeEffects.ColorGrade = nil end end -- 3. Focal Depth Blur Effect if shaderStates.DepthField then if not activeEffects.DepthField then local dof = Instance.new("DepthOfFieldEffect", Lighting) dof.FarIntensity = 0.4 dof.FocusDistance = 20 dof.InFocusRadius = 22 activeEffects.DepthField = dof end else if activeEffects.DepthField then activeEffects.DepthField:Destroy(); activeEffects.DepthField = nil end end -- 4. Atmospheric Sun Rays Effect if shaderStates.SunRays then if not activeEffects.SunRays then local sr = Instance.new("SunRaysEffect", Lighting) sr.Intensity = 0.5 sr.Spread = 1 activeEffects.SunRays = sr end else if activeEffects.SunRays then activeEffects.SunRays:Destroy(); activeEffects.SunRays = nil end end -- 5. 10x Ultra Shine (Mirror World) if shaderStates.UltraShine then Lighting.Technology = Enum.Technology.Future Lighting.EnvironmentSpecularScale = 10 Lighting.EnvironmentDiffuseScale = 2 Lighting.ShadowSoftness = 0.1 pcall(function() for _, obj in ipairs(Workspace:GetDescendants()) do if obj:IsA("BasePart") and not obj.Anchored and obj.Name ~= "HumanoidRootPart" then -- Skip dynamic/character parts safely elseif obj:IsA("BasePart") then if obj.Material == Enum.Material.SmoothPlastic or obj.Material == Enum.Material.Plastic or obj.Material == Enum.Material.Wood then obj.Material = Enum.Material.Glass obj.Reflectance = 1.0 end end end end) else Lighting.EnvironmentSpecularScale = 0.5 Lighting.EnvironmentDiffuseScale = 0.5 end end -- ========================================== -- BUILD USER INTERFACE -- ========================================== local screenGui = Instance.new("ScreenGui") screenGui.Name = "SigmaShadersGui" screenGui.ResetOnSpawn = false screenGui.DisplayOrder = 9999 screenGui.Parent = playerGui local mainFrame = Instance.new("Frame") mainFrame.Name = "MainFrame" mainFrame.Size = UDim2.new(0, 360, 0, 390) mainFrame.Position = UDim2.new(0.5, -180, 0.5, -195) mainFrame.BackgroundColor3 = Color3.fromRGB(8, 8, 12) mainFrame.BorderSizePixel = 0 mainFrame.Parent = screenGui local frameCorner = Instance.new("UICorner") frameCorner.CornerRadius = UDim.new(0, 20) frameCorner.Parent = mainFrame local frameStroke = Instance.new("UIStroke") frameStroke.Thickness = 2.5 frameStroke.Parent = mainFrame RunService.RenderStepped:Connect(function() if frameStroke and frameStroke.Parent then frameStroke.Color = currentRGB end end) -- Title Bar (Drag Handle) local titleBar = Instance.new("TextButton") titleBar.Name = "TitleBar" titleBar.Size = UDim2.new(1, 0, 0, 50) titleBar.BackgroundColor3 = Color3.fromRGB(14, 14, 20) titleBar.AutoButtonColor = false titleBar.Text = " ⚡ SIGMA SHADERS HUB" titleBar.TextColor3 = Color3.fromRGB(255, 255, 255) titleBar.TextSize = 16 titleBar.Font = Enum.Font.GothamBold titleBar.TextXAlignment = Enum.TextXAlignment.Left titleBar.Parent = mainFrame local titleCorner = Instance.new("UICorner") titleCorner.CornerRadius = UDim.new(0, 20) titleCorner.Parent = titleBar -- Minimize Button (-) local minButton = Instance.new("TextButton") minButton.Size = UDim2.new(0, 36, 0, 36) minButton.Position = UDim2.new(1, -44, 0, 7) minButton.BackgroundColor3 = Color3.fromRGB(24, 24, 34) minButton.TextColor3 = Color3.fromRGB(255, 255, 255) minButton.TextSize = 18 minButton.Font = Enum.Font.GothamBold minButton.Text = "-" minButton.Parent = titleBar local minCorner = Instance.new("UICorner") minCorner.CornerRadius = UDim.new(0, 10) minCorner.Parent = minButton -- Content Container local container = Instance.new("Frame") container.Size = UDim2.new(1, 0, 1, -50) container.Position = UDim2.new(0, 0, 0, 50) container.BackgroundTransparency = 1 container.Parent = mainFrame -- Shader Buttons Configuration (All 5 Combined) local shaderButtons = { {Key = "Bloom", Label = "✨ Cinematic Bloom"}, {Key = "ColorGrade", Label = "🎨 Vibrant Color Grade"}, {Key = "DepthField", Label = "📷 Focal Depth Blur"}, {Key = "SunRays", Label = "☀️ Atmospheric Sun Rays"}, {Key = "UltraShine", Label = "💎 10x Ultra Shine (Mirror World)"} } for i, shader in ipairs(shaderButtons) do local btn = Instance.new("TextButton") btn.Size = UDim2.new(0, 328, 0, 46) btn.Position = UDim2.new(0, 16, 0, 12 + (i - 1) * 54) btn.BackgroundColor3 = Color3.fromRGB(18, 18, 26) btn.TextColor3 = Color3.fromRGB(220, 220, 240) btn.TextSize = 14 btn.Font = Enum.Font.GothamBold btn.Text = shader.Label .. " [ OFF ]" btn.Parent = container local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 12) btnCorner.Parent = btn btn.MouseButton1Click:Connect(function() shaderStates[shader.Key] = not shaderStates[shader.Key] refreshShaderEngine() if shaderStates[shader.Key] then btn.BackgroundColor3 = Color3.fromRGB(0, 185, 90) btn.Text = shader.Label .. " [ ACTIVE ]" else btn.BackgroundColor3 = Color3.fromRGB(18, 18, 26) btn.Text = shader.Label .. " [ OFF ]" end end) end -- Minimize / Maximize Toggle Logic local minimized = false minButton.MouseButton1Click:Connect(function() minimized = not minimized if minimized then minButton.Text = "+" mainFrame:TweenSize(UDim2.new(0, 360, 0, 50), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.2, true) container.Visible = false else minButton.Text = "-" mainFrame:TweenSize(UDim2.new(0, 360, 0, 390), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.2, true) task.wait(0.1) container.Visible = true end end) -- Smooth Mobile & PC Window Dragging Logic local draggingWindow = false local dragStart, startPos titleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then draggingWindow = true dragStart = input.Position startPos = mainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then draggingWindow = false end end) end end) UserInputService.InputChanged:Connect(function(input) if draggingWindow and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart mainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then draggingWindow = false end end) print("--- [SigmaShaders] Full Combined Edition Loaded ---")