From 4a6a8498f9844dd40bc53a77b67632b278da6b7e Mon Sep 17 00:00:00 2001 From: Ne_Eo Date: Sat, 21 Sep 2024 18:33:19 +0200 Subject: [PATCH 1/2] Small byte optimizations --- source/funkin/backend/shaders/FunkinShader.hx | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/source/funkin/backend/shaders/FunkinShader.hx b/source/funkin/backend/shaders/FunkinShader.hx index f8d66fae..d9a8ddd8 100644 --- a/source/funkin/backend/shaders/FunkinShader.hx +++ b/source/funkin/backend/shaders/FunkinShader.hx @@ -439,22 +439,22 @@ uniform bool hasTransform; uniform bool hasColorTransform; vec4 applyFlixelEffects(vec4 color) { - if (!hasTransform) { + if(!hasTransform) { return color; } - if (color.a == 0.0) { + if(color.a == 0.0) { return vec4(0.0, 0.0, 0.0, 0.0); } - if (!hasColorTransform) { + if(!hasColorTransform) { return color * openfl_Alphav; } color.rgb = color.rgb / color.a; color = clamp(openfl_ColorOffsetv + (color * openfl_ColorMultiplierv), 0.0, 1.0); - if (color.a > 0.0) { + if(color.a > 0.0) { return vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav); } return vec4(0.0, 0.0, 0.0, 0.0); @@ -504,11 +504,9 @@ uniform vec2 openfl_TextureSize;"; public static final vertBody:String = "openfl_Alphav = openfl_Alpha; openfl_TextureCoordv = openfl_TextureCoord; -if (openfl_HasColorTransform) { - +if(openfl_HasColorTransform) { openfl_ColorMultiplierv = openfl_ColorMultiplier; openfl_ColorOffsetv = openfl_ColorOffset / 255.0; - } gl_Position = openfl_Matrix * openfl_Position;"; @@ -521,14 +519,12 @@ attribute vec4 colorMultiplier; attribute vec4 colorOffset; uniform bool hasColorTransform; -void main(void) -{ +void main(void) { #pragma body openfl_Alphav = openfl_Alpha * alpha; - if (hasColorTransform) - { + if(hasColorTransform) { openfl_ColorOffsetv = colorOffset / 255.0; openfl_ColorMultiplierv = colorMultiplier; } @@ -538,8 +534,7 @@ void main(void) // TODO: camera stuff public static final defaultFragmentSource:String = "#pragma header -void main(void) -{ +void main(void) { gl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv); }"; } From 53ecf67d67dd26e6f8fe1066239521c9bcda9ba1 Mon Sep 17 00:00:00 2001 From: Ne_Eo Date: Sat, 21 Sep 2024 18:48:18 +0200 Subject: [PATCH 2/2] Add the stuffs to the default vertex body and header --- source/funkin/backend/shaders/FunkinShader.hx | 34 ++++++++----------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/source/funkin/backend/shaders/FunkinShader.hx b/source/funkin/backend/shaders/FunkinShader.hx index d9a8ddd8..0b282ffb 100644 --- a/source/funkin/backend/shaders/FunkinShader.hx +++ b/source/funkin/backend/shaders/FunkinShader.hx @@ -483,9 +483,7 @@ vec4 textureCam(sampler2D bitmap, vec2 pos) { return flixel_texture2D(bitmap, camToOg(pos)); }"; - public static final fragBody:String = "vec4 color = flixel_texture2D (bitmap, openfl_TextureCoordv); - gl_FragColor = color; -"; + public static final fragBody:String = "gl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv);"; public static final vertHeader:String = "attribute float openfl_Alpha; attribute vec4 openfl_ColorMultiplier; attribute vec4 openfl_ColorOffset; @@ -499,7 +497,12 @@ varying vec2 openfl_TextureCoordv; uniform mat4 openfl_Matrix; uniform bool openfl_HasColorTransform; -uniform vec2 openfl_TextureSize;"; +uniform vec2 openfl_TextureSize; + +attribute float alpha; +attribute vec4 colorMultiplier; +attribute vec4 colorOffset; +uniform bool hasColorTransform;"; public static final vertBody:String = "openfl_Alphav = openfl_Alpha; openfl_TextureCoordv = openfl_TextureCoord; @@ -509,33 +512,26 @@ if(openfl_HasColorTransform) { openfl_ColorOffsetv = openfl_ColorOffset / 255.0; } +openfl_Alphav = openfl_Alpha * alpha; + +if(hasColorTransform) { + openfl_ColorOffsetv = colorOffset / 255.0; + openfl_ColorMultiplierv = colorMultiplier; +} + gl_Position = openfl_Matrix * openfl_Position;"; public static final defaultVertexSource:String = "#pragma header -attribute float alpha; -attribute vec4 colorMultiplier; -attribute vec4 colorOffset; -uniform bool hasColorTransform; - void main(void) { #pragma body - - openfl_Alphav = openfl_Alpha * alpha; - - if(hasColorTransform) { - openfl_ColorOffsetv = colorOffset / 255.0; - openfl_ColorMultiplierv = colorMultiplier; - } }"; - - // TODO: camera stuff public static final defaultFragmentSource:String = "#pragma header void main(void) { - gl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv); + #pragma body }"; }