mirror of
https://github.com/FunkinCrew/Funkin.git
synced 2024-11-27 10:05:41 -05:00
overlay wit sunset background
This commit is contained in:
parent
f6729592bf
commit
5baae3ad58
4 changed files with 21 additions and 39 deletions
|
@ -1,33 +0,0 @@
|
||||||
package;
|
|
||||||
|
|
||||||
import flixel.system.FlxAssets.FlxShader;
|
|
||||||
|
|
||||||
class OverlayShader extends FlxShader
|
|
||||||
{
|
|
||||||
@:glFragmentSource('
|
|
||||||
#pragma header
|
|
||||||
uniform vec4 uBlendColor;
|
|
||||||
|
|
||||||
vec3 blendLighten(base:Vec3, blend:Vec3) : Vec3 {
|
|
||||||
return mix(
|
|
||||||
1.0 - 2.0 * (1.0 - base) * (1.0 - blend),
|
|
||||||
2.0 * base * blend,
|
|
||||||
step( base, vec3(0.5) )
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
vec4 blendLighten(vec4 base, vec4 blend, float opacity)
|
|
||||||
{
|
|
||||||
return (blendLighten(base, blend) * opacity + base * (1.0 - opacity));
|
|
||||||
}
|
|
||||||
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
vec4 base = texture2D(bitmap, openfl_TextureCoordv);
|
|
||||||
gl_FragColor = blendLighten(base, uBlendColor, uBlendColor.a);
|
|
||||||
}')
|
|
||||||
public function new()
|
|
||||||
{
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -48,6 +48,7 @@ import openfl.utils.ByteArray;
|
||||||
import shaderslmfao.BuildingShaders.BuildingShader;
|
import shaderslmfao.BuildingShaders.BuildingShader;
|
||||||
import shaderslmfao.BuildingShaders;
|
import shaderslmfao.BuildingShaders;
|
||||||
import shaderslmfao.ColorSwap;
|
import shaderslmfao.ColorSwap;
|
||||||
|
import shaderslmfao.OverlayBlend;
|
||||||
import ui.PreferencesMenu;
|
import ui.PreferencesMenu;
|
||||||
|
|
||||||
using StringTools;
|
using StringTools;
|
||||||
|
@ -290,6 +291,14 @@ class PlayState extends MusicBeatState
|
||||||
defaultCamZoom *= 0.90;
|
defaultCamZoom *= 0.90;
|
||||||
|
|
||||||
var skyBG:FlxSprite = new FlxSprite(-120, -50).loadGraphic(Paths.image('limo/limoSunset'));
|
var skyBG:FlxSprite = new FlxSprite(-120, -50).loadGraphic(Paths.image('limo/limoSunset'));
|
||||||
|
|
||||||
|
var overlayShader:OverlayBlend = new OverlayBlend();
|
||||||
|
var sunOverlay:FlxSprite = new FlxSprite().loadGraphic(Paths.image('limo/limoOverlay'));
|
||||||
|
sunOverlay.setGraphicSize(Std.int(sunOverlay.width * 2));
|
||||||
|
sunOverlay.updateHitbox();
|
||||||
|
overlayShader.funnyShit.input = sunOverlay.pixels;
|
||||||
|
skyBG.shader = overlayShader;
|
||||||
|
|
||||||
skyBG.scrollFactor.set(0.1, 0.1);
|
skyBG.scrollFactor.set(0.1, 0.1);
|
||||||
add(skyBG);
|
add(skyBG);
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,8 @@ class BuildingShader extends FlxShader
|
||||||
{
|
{
|
||||||
vec4 color = flixel_texture2D(bitmap, openfl_TextureCoordv);
|
vec4 color = flixel_texture2D(bitmap, openfl_TextureCoordv);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (color.a > 0.0)
|
if (color.a > 0.0)
|
||||||
color -= alphaShit;
|
color -= alphaShit;
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ package shaderslmfao;
|
||||||
import flixel.math.FlxPoint;
|
import flixel.math.FlxPoint;
|
||||||
import flixel.system.FlxAssets.FlxShader;
|
import flixel.system.FlxAssets.FlxShader;
|
||||||
|
|
||||||
class TitleOutline extends FlxShader
|
class OverlayBlend extends FlxShader
|
||||||
{
|
{
|
||||||
// these r copypaste
|
// these r copypaste
|
||||||
public var funnyX(default, set):Float = 0;
|
public var funnyX(default, set):Float = 0;
|
||||||
|
@ -27,13 +27,15 @@ class TitleOutline extends FlxShader
|
||||||
#pragma header
|
#pragma header
|
||||||
|
|
||||||
uniform float alphaShit;
|
uniform float alphaShit;
|
||||||
|
uniform float yPos;
|
||||||
|
uniform float xPos;
|
||||||
|
|
||||||
uniform sampler2D funnyShit;
|
uniform sampler2D funnyShit;
|
||||||
|
|
||||||
|
|
||||||
vec3 blendOverlay(vec3 base, vec3 blend)
|
vec4 blendOverlay(vec4 base, vec4 blend)
|
||||||
{
|
{
|
||||||
return mix(1.0 - 2.0 * (1.0 - base) * (1.0 - blend), 2.0 * base * blend, step(base, vec3(0.5)));
|
return mix(1.0 - 2.0 * (1.0 - base) * (1.0 - blend), 2.0 * base * blend, step(base, vec4(0.5)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
|
@ -41,12 +43,14 @@ class TitleOutline extends FlxShader
|
||||||
vec2 funnyUv = openfl_TextureCoordv;
|
vec2 funnyUv = openfl_TextureCoordv;
|
||||||
vec4 color = flixel_texture2D(bitmap, funnyUv);
|
vec4 color = flixel_texture2D(bitmap, funnyUv);
|
||||||
|
|
||||||
vec4 gf = flixel_texture2D(funnyShit, openfl_TextureCoordv);
|
vec2 reallyFunnyUv = vec2(vec2(0.0, 0.0) - gl_FragCoord.xy / openfl_TextureSize.xy);
|
||||||
|
|
||||||
|
vec4 gf = flixel_texture2D(funnyShit, openfl_TextureCoordv.xy + vec2(0.1, 0.2));
|
||||||
|
|
||||||
|
|
||||||
vec3 mixedCol = blendOverlay(color.rgb, gf.rgb);
|
vec4 mixedCol = blendOverlay(gf, color);
|
||||||
|
|
||||||
gl_FragColor = vec4(mixedCol, color.a);
|
gl_FragColor = mixedCol;
|
||||||
}
|
}
|
||||||
|
|
||||||
')
|
')
|
||||||
|
|
Loading…
Reference in a new issue