Fake Reflections/Global Illumination

Updated shaders with settings idk
without shaders


with shaders(no outlines)

with shaders and outlines

code:

-- once u paste this in a script make an attribute on the script and name it "outlines"
for i, v in pairs(workspace:GetDescendants()) do
	if v:IsA("Part") then
		if v.Shape == Enum.PartType.Ball and script:GetAttribute("Outlines") == true then
			local outline = Instance.new("SelectionSphere")
			outline.SurfaceTransparency = 1
			outline.Transparency = .9
			outline.Color3 = Color3.new(0, 0, 0)
			outline.Parent = v
			outline.Adornee = v
		elseif script:GetAttribute("Outlines") == true then
			local outline = Instance.new("SelectionBox")
			outline.SurfaceTransparency = 1
			outline.Color3 = Color3.new(0, 0, 0)
			outline.LineThickness = .01
			outline.Parent = v
			outline.Adornee = v
		end
		
		local light = Instance.new("PointLight")
		light.Parent = v
		light.Shadows = true -- prob should remove this line
		light.Brightness = math.ceil((v.Size.X + v.Size.Y + v.Size.Z)*1.5)+1--math.round(((v.Size.X * v.Size.Y * v.Size.Z) * 1/3)) 
		light.Range = 3
		light.Color = v.Color
		if (light.Brightness * 3) >= 100 then
			light:Destroy()
		end
	end
end