Slate FSlateDrawElement has broken AA

FSlateDrawElement::Makelines did produce undesired result with iPhone 5. With bAntiAlias set to true the line segments disappear. With bAntiAlias set to false they do appear.

I have not tested this with 4.8 and will not do so at this point, so if it is fixed there this question can be resolved or deleted.

Hi Arvidsson,

Do you mind posting a screenshot of you blueprints setup for this issue so I can attempt a repro in both 4.7 and then in 4.8?

Create a UserWidget BP. Override OnPaint for it. In the OnPaint function use Painting->Draw Line to draw a bunch of lines and verify it not work properly on iPhone 5 if AntiAlias bool on the node is set to true.

Hey ,

I have verified that this issue does not happen on 4.8.2-2614606. I tested it on Windows, Android and iOS platforms. Please upgrade your engine to 4.8.2 so that this fix can be implemented in your project. If you happen to have any further questions or concerns, please reply back and I will be more than happy to assist you further.

Thanks!

Ok, thanks. I will notice if it it does not work once I convert to 4.8.

This is still a problem in 4.9 preview 2. I attached the BP graph. This is a UserWidget’s OnPaint override and the node Draw Line is under Painting->DrawLine. The DrawCircle and DrawRect are extensions we made, but they use the same functions.

Note that I have only encountered this problem with iPhone 5 when the bAntiAlias is set to true on the node. On iPad2 it always works and with bAntialias false on the node it works with iPhone5, too. You need to test this on the real device, not in preview. Let me know how it works out :).

Also, I should add that we are using a 3D camera perspective projection, and not orthographic.

Hey,

Could you please upload this blueprint so that I can test it out? I can’t see the full blueprint and I need to make sure that it’s set up properly. You can easily migrate the blueprint into a blank project to ensure it’ll work once I receive it.

Thank you! :slight_smile:

Here is a project setup: https://s3-eu-west-1.amazonaws.com/privatesharing/TappyChicken48_EpicRepro.zip

The UMG blueprint is called LineAABug, if you run it on iPhone 5 as it is you will see no red line drawn. Uncheck the AA box in the Draw Line node in OnPaint and you will see the line being drawn after repacking. There is another bug that makes the recooking dependencies not working, so you need to use the Project Launcher → Advanced and then use Development|By The Book after you have unchecked the AA box. I will file another bug for that.

Hey ,

That link does not work, could you please provide a shared link I can download from?

Thanks! :slight_smile:

I forgot to add public access. The link should work now.

Hey ,

So I’ve downloaded the project you provided of Tappy Chicken. I followed the instructions provided and could not reproduce the issue. Is this happening on any other device, or with any other template?

Thanks!

So the red line is drawn for you even on an iPhone 5 with the AA box ticked in the draw line function?

The color updates each time I change it, yes. So I’m not quite sure how to get this to reproduce. Do you have another iPhone you’ve reproduced this on that’s perhaps a 4 or 6?

Well this particular question/issue was that the line is not drawn correctly if AA is checked on iPhone 5, but it does draw correctly if AA is turned off.

This only happens on iPhone 5 and not on iPad 2 mini. Those are the devices I can test on.

I tested this on 4.9 preview 4 and the problem is still there. The draw line function does produce a corrupted line on iPhone 5 if AA is enabled on the node.

Do you have a iPhone 5 on hand (not S). Maybe the result is different between them?

There is another bug too with AA that happens on all devices. If you for example draw a small rectangle (by drawing 4 lines) the lines become too long causing a degenerate rectangle. This does not happen if AA on the draw nodes are turned off.

Hey ,

I have reported an issue with the Draw Line functions not functioning correctly on Android Devices. I have tested the information provided to me on 4.8.3 and 4.9 Preview 4. the only device that appeared to have some complications happened to be Android. This has been reported as UE-20320. I was unable to reproduce this on an iOS device.

If you have any direct reproduction steps to provide, I will be more than happy to look into this further for you.

Thanks!

There is nothing more I can do about this. I have made a project and given instruction on how to verify this on iPhone 5.

I guess I can record a video…

Thank you for providing all of the information you have. I have one last question for you, which I see I didn’t ask previously, did you obtain the editor from Binary or Source?

A screenshot of your iPhone would suffice too.

Thanks!

Own project is compiled from source. But the project I made and posted link to is binary. I verified that the problem is the same in that project, too.