HaxeFlixel / flixel

Free, cross-platform 2D game engine powered by Haxe and OpenFL
https://haxeflixel.com/
MIT License
1.92k stars 427 forks source link

Fnf 6 #3186

Open Geokureli opened 2 weeks ago

Geokureli commented 2 weeks ago

@EliteMasterEric This is the only remaining change between https://github.com/FunkinCrew/flixel/tree/dev-6.0.0 and release6. I can't find out what this change does, can you clarify, what does adding a true arg to @:glVertexSource and @:glFragmentSource do?

also you can update your dev-6.0.0 branch with https://github.com/FunkinCrew/flixel/compare/dev-6.0.0...Geokureli:fnf-6?expand=1

EliteMasterEric commented 2 weeks ago

Adding a true argument to the vertex source and fragment source annotations does nothing on the official build of OpenFL.

However, it DOES do something on my shader rewrite branch of OpenFL (see openfl/openfl#2715).

That branch implements the glVersion parameter to shaders, allowing you to use other GLSL versions (such as 120 on MacOS and 300 es on web).

However, this has a problem; the annotations on any parent classes were written for GLSL 100, and therefore need to be rewritten to support the new GLSL version. Thankfully, this is relatively trivial, as you can simply perform a find/replace and no special syntax changes are needed, but these changes should only be done on the internal annotations and not the user-provided shader annotations. Thus, I added an optional argument to the annotation to tell the macro system when to rewrite the shader source.