make checkerboard a background with transparency. close #2

This commit is contained in:
2024-02-04 15:28:01 -07:00
parent a1b945f26b
commit a32b5bc083
2 changed files with 10 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
(import flixel.FlxState)
(import flixel.FlxG)
(import flixel.FlxSprite)
(import flixel.util.FlxColor)
(import openfl.filters.BitmapFilter)
(import openfl.filters.ShaderFilter)
@@ -10,9 +11,11 @@
(method &override :Void create []
(super.create)
(set FlxG.camera.bgColor FlxColor.TRANSPARENT)
(let [bg (new FlxSprite 0 0 "assets/images/apTestRoomEdited.jpg")]
(bg.setGraphicSize FlxG.width FlxG.height)
(bg.setGraphicSize (iHalf FlxG.width) (iHalf FlxG.height))
(bg.screenCenter)
(set bg.alpha 0.5)
(add bg))
(set shader (new kiss_flixel.shaders.CheckerBoard))
// (set shader.data.invert.value [true])

View File

@@ -6,6 +6,10 @@ uniform float checkSize = 64;
void main()
{
vec4 color = flixel_texture2D(bitmap, openfl_TextureCoordv);
float transparency = 1.0 - color.a;
vec2 position = openfl_TextureCoordv * iResolution + cameraPos;
float row = floor(position.y / checkSize);
float col = floor(position.x / checkSize);
@@ -16,5 +20,6 @@ void main()
vec4 oddColor = oddRow ? color1 : color2;
vec4 evenColor = oddRow ? color2 : color1;
gl_FragColor = oddCol ? oddColor: evenColor;
vec4 bgColor = oddCol ? oddColor: evenColor;
gl_FragColor = color + bgColor * transparency;
}