diff --git a/osu.Game.Resources/Shaders/sh_Flashlight.fs b/osu.Game.Resources/Shaders/sh_Flashlight.fs new file mode 100644 index 0000000..b8c4ec7 --- /dev/null +++ b/osu.Game.Resources/Shaders/sh_Flashlight.fs @@ -0,0 +1,21 @@ +#ifdef GL_ES + precision mediump float; +#endif + +varying vec2 v_Position; + +uniform vec2 mousePos; +uniform float flashlightSize; + +const float smoothness = 0.1; + +void main(void) +{ + vec2 diff = mousePos - v_Position; + + float dist = sqrt(diff.x * diff.x + diff.y * diff.y); + + float smoothnessRange = flashlightSize * smoothness; + + gl_FragColor = vec4(0.0, 0.0, 0.0, smoothstep(flashlightSize, flashlightSize + smoothnessRange, dist)); +} \ No newline at end of file