From ab7b953ec9393d8df5aeb23d23e8b1f8154601c1 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Sat, 26 Nov 2016 19:01:41 +0900 Subject: [PATCH] Bring CursorTrail shader up to speed with framework. --- osu.Game.Resources/Shaders/sh_CursorTrail.vs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/osu.Game.Resources/Shaders/sh_CursorTrail.vs b/osu.Game.Resources/Shaders/sh_CursorTrail.vs index d75179c..d89ee55 100644 --- a/osu.Game.Resources/Shaders/sh_CursorTrail.vs +++ b/osu.Game.Resources/Shaders/sh_CursorTrail.vs @@ -1,16 +1,29 @@ attribute vec2 m_Position; +attribute vec4 m_Colour; attribute vec2 m_TexCoord; -attribute float m_Time; +varying vec2 v_DrawingPosition; +varying vec2 v_MaskingPosition; varying vec4 v_Colour; varying vec2 v_TexCoord; uniform mat4 g_ProjMatrix; +uniform mat3 g_ToMaskingSpace; +uniform mat3 g_ToDrawingSpace; + uniform float g_FadeClock; void main(void) { - gl_Position = g_ProjMatrix * vec4(m_Position, 1.0, 1.0); - v_Colour = vec4(1.0, 1.0, 1.0, m_Time - g_FadeClock); + // 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, clamp(m_Colour.a - g_FadeClock, 0.0, 1.0)); v_TexCoord = m_TexCoord; + gl_Position = g_ProjMatrix * vec4(m_Position, 1.0, 1.0); } \ No newline at end of file