OpenFL BitmapData draw ColorTransform, BlendMode windows target alternatives or eta

Hi, Im an ambitious indie dev who ported my own framework from AS3, and so far the journey has been fantastic overall. Though at first some concepts were very foreign to me, such as whether to use openfl or nme (a lot of confusing google clutter), the syntax changes etc things got clearer over time, and I love the strictness of Haxe. I settled on OpenFL obviously, and couldnt be happier!

My endgame is targeting both windows and flash, at least on initial release of my current project. However, Ive run into a bit of a problem.

From my experience, and subsequent research, it looks like the ColorTransform and more importantly for me, BlendMode parameters of BitmapData.draw () are not supported yet for Windows. For the desired atmosphere, and lighting effects of my game(s) , these are absolutely essential! :frowning:

So I was wondering if there was an ETA for BlendMode support? Or if there was some kind of low level alternative hackaround using Lime api perhaps? If not, could someone point me in the general class imports/api direction and I could create a solution myself? It would ideally work in both windows and flash - or I could learn/use conditional compilation (using draw() when targeting flash as I do currently). My engine is mainly blitting with copypixels if that matters, with draw calls for BlendModes/anything fancier than a straight blit.

Maybe I could help with the bitmapdata next thing if possible, as I know you guy(s) have a lot on your plate! Having created my own tiled world blitting engine I know BitmapData and blitting optimization pretty well…but low level lime/opengl I am literally newbie at so…

Anyways yeah. Any feedback would be greatly appreciated! For now I will ‘dev around’ the problem :wink: doing less fun things like UI lol

Which blend modes are you looking for? These are supported in software on legacy, but I think we’ll be able to support a few (like ADD, MULTIPLY, SCREEN I think) in hardware for the newer code we’re developing

Sorry, been on vacation and wifi access has been spotty, to say the least!

Im not sure if legacy is really an option for me but I can look into it. Will I need to refactor my codebase, and give up a lot of thigs I love in 3 though?

For blendmodes, it is ADD, and especially MULTIPLY are what I am after. MULTIPLY would be like a gift from the gods lol. ** ADD I think is what it is already doing regardless of input.

I am also looking at ERASE as well for something but with that, I think there is an alternative solution using copypixels() and its later alpha parameters.

Thank you!! Sorry for the late reply :confused:

I’m developing a hybrid approach, where instead of A.) using all new code or B.) legacy code it uses C.) Lime 2 as the backend base (similar to the new code) but uses the older code for rendering and such

I’m hoping this will make it easier to test and switch between the two camps of code and move forward :slight_smile: