diff --git a/osu-framework b/osu-framework
index b061324151..4c0762eec2 160000
--- a/osu-framework
+++ b/osu-framework
@@ -1 +1 @@
-Subproject commit b0613241512e46eed9dc16ae08ed4064d2db4101
+Subproject commit 4c0762eec20d2a3063df908a49432326570bea9f
diff --git a/osu.Desktop.Tests/osu.Desktop.Tests.csproj b/osu.Desktop.Tests/osu.Desktop.Tests.csproj
index 9037acb220..07495311e0 100644
--- a/osu.Desktop.Tests/osu.Desktop.Tests.csproj
+++ b/osu.Desktop.Tests/osu.Desktop.Tests.csproj
@@ -54,9 +54,6 @@
$(SolutionDir)\packages\SQLite.Net-PCL.3.1.1\lib\net40\SQLite.Net.Platform.Generic.dll
-
- $(SolutionDir)\packages\ppy.OpenTK.2.0.50727.1339\lib\net45\OpenTK.dll
-
diff --git a/osu.Game.Modes.Osu/Objects/Drawables/Pieces/TrianglesPiece.cs b/osu.Game.Modes.Osu/Objects/Drawables/Pieces/TrianglesPiece.cs
index 33ed93e625..26d44f3865 100644
--- a/osu.Game.Modes.Osu/Objects/Drawables/Pieces/TrianglesPiece.cs
+++ b/osu.Game.Modes.Osu/Objects/Drawables/Pieces/TrianglesPiece.cs
@@ -14,6 +14,7 @@ namespace osu.Game.Modes.Osu.Objects.Drawables.Pieces
public TrianglesPiece()
{
TriangleScale = 1.2f;
+ HideAlphaDiscrepancies = false;
}
protected override void Update()
diff --git a/osu.Game/Graphics/Backgrounds/Triangles.cs b/osu.Game/Graphics/Backgrounds/Triangles.cs
index 219af9bd38..f3b75ce91a 100644
--- a/osu.Game/Graphics/Backgrounds/Triangles.cs
+++ b/osu.Game/Graphics/Backgrounds/Triangles.cs
@@ -10,6 +10,7 @@ using osu.Framework.MathUtils;
using OpenTK;
using OpenTK.Graphics;
using System;
+using osu.Framework.Graphics.Colour;
namespace osu.Game.Graphics.Backgrounds
{
@@ -37,6 +38,13 @@ namespace osu.Game.Graphics.Backgrounds
private float triangleScale = 1;
+ ///
+ /// Whether we should drop-off alpha values of triangles more quickly to improve
+ /// the visual appearance of fading. This defaults to on as it is generally more
+ /// aesthetically pleasing, but should be turned off in s.
+ ///
+ public bool HideAlphaDiscrepancies = true;
+
public float TriangleScale
{
get { return triangleScale; }
@@ -63,8 +71,14 @@ namespace osu.Game.Graphics.Backgrounds
{
base.Update();
+ float adjustedAlpha = HideAlphaDiscrepancies ?
+ // Cubically scale alpha to make it drop off more sharply.
+ (float)Math.Pow(DrawInfo.Colour.AverageColour.Linear.A, 3) :
+ 1;
+
foreach (var t in Children)
{
+ t.Alpha = adjustedAlpha;
t.Position -= new Vector2(0, (float)(t.Scale.X * (50 / DrawHeight) * (Time.Elapsed / 950)) / triangleScale);
if (ExpireOffScreenTriangles && t.DrawPosition.Y + t.DrawSize.Y * t.Scale.Y < 0)
t.Expire();