From b51e924d411153f6ded13e92d011ed9aaee6f4ed Mon Sep 17 00:00:00 2001 From: TheOmyNomy Date: Thu, 12 Aug 2021 22:36:06 +1000 Subject: [PATCH] Add separate legacy cursor trail shader --- .../Shaders/sh_LegacyCursorTrail.vs | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 osu.Game.Resources/Shaders/sh_LegacyCursorTrail.vs diff --git a/osu.Game.Resources/Shaders/sh_LegacyCursorTrail.vs b/osu.Game.Resources/Shaders/sh_LegacyCursorTrail.vs new file mode 100644 index 0000000..d9e96d5 --- /dev/null +++ b/osu.Game.Resources/Shaders/sh_LegacyCursorTrail.vs @@ -0,0 +1,35 @@ +attribute vec2 m_Position; +attribute vec4 m_Colour; +attribute vec2 m_TexCoord; +attribute vec4 m_TexRect; +attribute float m_Time; + +varying vec2 v_DrawingPosition; +varying vec2 v_MaskingPosition; +varying vec4 v_Colour; +varying vec2 v_TexCoord; +varying vec4 v_TexRect; + +uniform mat4 g_ProjMatrix; +uniform mat3 g_ToMaskingSpace; +uniform mat3 g_ToDrawingSpace; + +uniform float g_FadeClock; + +void main(void) +{ + // Transform to position to masking space. + vec3 maskingPos = g_ToMaskingSpace * vec3(m_Position, 1.0); + v_MaskingPosition = maskingPos.xy / maskingPos.z; + + // Transform to position to masking space. + vec3 drawingPos = g_ToDrawingSpace * vec3(m_Position, 1.0); + v_DrawingPosition = drawingPos.xy / drawingPos.z; + + v_Colour = vec4(m_Colour.rgb, m_Colour.a * clamp(m_Time - g_FadeClock, 0.0, 1.0)); + + v_TexCoord = m_TexCoord; + v_TexRect = m_TexRect; + + gl_Position = g_ProjMatrix * vec4(m_Position, 1.0, 1.0); +}