Gamua / Starling-Framework

The Cross Platform Game Engine
http://www.starling-framework.org
Other
2.84k stars 819 forks source link

Stencil Masks not working with AIR 24.0 #939

Closed inovento closed 7 years ago

inovento commented 7 years ago

Hello, When compiling with AIR 24.0 the stencil masks are no longer functional even though the depthAndStencil flag=true is still present in the application descriptor. We are using Starling 1.7 and it used to work fine with AIR 21.0. Is there anything we can make to work around this problem?

PrimaryFeather commented 7 years ago

Hm, I haven't heard that before! What platform are we talking about?

inovento commented 7 years ago

It's happening on iOS only. Testing on iPad Mini with iOS 9. Tried compiling on Windows and Mac, both times with same result - the mask doesn't get applied.

PrimaryFeather commented 7 years ago

Damn, that's very unfortunate. Seems to be a bug in AIR 24, then. Please create a bug report here: tracker.adobe.com, with some minimal example code. Post the link to the report here, and I'll vote for it and will try to bring it to Adobe's attention! Definitely a critical bug.

Until it's fixed, I'm afraid we'll have to stick with AIR 23. :-/

inovento commented 7 years ago

Created the bug report. Hope they look into it sooner since it's a critical one. https://tracker.adobe.com/#/view/AIR-4198229

kheftel-old commented 7 years ago

I voted for the bug. I use stencil masks too and this is not good.

Adolio commented 7 years ago

When I try to vote for it, the adobe bugs tracker tells me: "You can't vote for a bug you created"...

Hum.. Either it's a bug or perhaps I'm suffering of a dissociative identity disorder... :grimacing: (@inovento Maybe we are both the same person. :stuck_out_tongue_winking_eye:)

PrimaryFeather commented 7 years ago

Guys, I finally had the time to try this out myself, and I can't reproduce the problem at the moment. I've been using AIR 24.0.0.180 (the latest stable release), and tested the "Mask Scene" of the Starling Demo on iOS, Android, and macOS, both in Flash Player and as an AIR package.

There must be something specific in your environment; the error obviously does not affect all AIR programs. Could anyone who's affected tell me a little more about the circumstances? (Adobe already looked into it, too, and they could not reproduce the problem, either.)

jimmymjing commented 7 years ago

Hello, I had the same issue... I can see the mask for just 1 or 2 frames, then it disappears... I'm sure it is not related to AIR SDK nor starling's version.. but it worked before then I found it stopped working on device... Please let me know if any of you found out the cause of this. Thanks so much!

PrimaryFeather commented 7 years ago

I don't have any updates on this issue, unfortunately!

Does the problem only appear with your current code, or can you also reproduce it with a simple example? To get to the root of this, we need to find a way to reproduce it for Adobe — or for myself, if it's a Starling issue (which can't be ruled out, either).

jimmymjing commented 7 years ago

Hello, I think I found what caused the issue... which took me so many days... If myStarling.antiAliasing = 16; is set, the mask will stop working. (using canvas as the mask)

inovento commented 7 years ago

What happens is, if you set the antiAliasing property of Starling with any value 1-16, it breaks the stencil masks. If you initiate Starling without setting the property the masks are working fine. We're using CitrusEngine and all Starling setup is happening there, but our value for antiAliasing was 1. Thanks jimmymjing for tracking what was causing the issue.

PrimaryFeather commented 7 years ago

You're perfectly right, that's it! I just tried that out myself on the iPhone, and I can reproduce this issue. I updated the error report accordingly. With that information, Adobe should be able to look into this. Please add your vote!

PrimaryFeather commented 7 years ago

This was fixed with AIR 26 — w00t!