FSlateDrawElement::MakeLines has broken AA in Editor + Windows

Hey Team,

FSlateDrawElement::MakeLines is cutting sharp edges off its lines when the AA parameter is passed as true. This is occurring in both the editor’s preview and in game on Windows 8.

MakeLines is being called in an extended SCompoundWidget’s OnPaint method.

No AA in editor:

AA in editor:

56423-aa.jpg

AA in game (Windows 8, nvidia graphics, standalone preview):

56429-ingameaa2.jpg

Cheers,
Mugen

Hey -

Could you elaborate on what it is you’re doing and how you’re setting up the project? If you can reproduce this in a empty project with no additional content can you post the sample project or list the steps used to reproduce this?

Cheers

Hi ,

Thanks for your reply. I have created a test project showing a custom umg widget and its underlying slate widget causing the AA issues in the editor and in-game.

The screenshot below is from this project.

56710-capture.jpg

[link text][2]

Cheers,
Mugen

Hey ,

I grabbed your project but was not able to successfully open your assets. Would you mind clarifying in the image above which is the UMG Widget and which is the SlateDrawElement?

If you could provide me with some simple reproducible steps so I can create this in a blank project and visualize the issue you are reporting, I can continue to help you troubleshoot.

I ask because UMG Widgets can render to World and Screen Space which will produce different outcomes.

Thank you,

Hi Andrew, thanks for your reply.

Apologies, the previous zip was missing a level pre-setup with the widget loaded. I did not know Unreal had its own zip function so I must have missed it when creating my own.

The UMG widget is displayed in 2D and contains the slate widget. i.e The Widget blueprint has an instance of “MyWidget.h (UWidget)” in it, which has a
variable MyWidget pointing to a SMyCompoundWidget. The draw code is in SMyCompoundWidget.cpp/.h

Here is another copy with a level you can run:

To replicate in your own level: In the level blueprint create a widget of type ‘Widget’, add that widget to viewport, run.

Cheers,
Mugen

link text

Hey ,

So unfortunately, the updatedproject.zip you provided did not have any of the source code files associated, so I could not compile and open the project. Apologies, as this is part my fault I did not mention the source files to be added to the zipped folder.

If you could upload your project one more time with all of the necessary assets and files, I will be happy to help you continue to troubleshoot. If you have any other questions please let me know.

Cheers,

Third time lucky! I didn’t realise using Unreal’s inbuilt zip project didn’t include source.

Download link (The zip is 11mb with source, too big for the 5.2mb upload here)

Hey ,

So for some reason, it is not allowing me to open your project’s specific map STILL!

This could be due to the fact you are using a code based project and running a source build, which can make things a bit more complicated. In other words, let’s try a different approach to getting this issue to occur on my end.

Do you happen to have the image file you are using for the custom UMG widget so I can create a simple test on my end?

As a quick suggestion, you can attempt to try a different Shading Model and Blend Mode in conjunction with the Dither Temporal AA option within your material’s properties. You could also try calling the Widget to render in Screen Space and not World Space to see if that has a difference as well.

Please let me know if you need further help or have any other questions, and thank you for your patience while we try and get this repro case to occur on my end as well.

Cheers,

Hey Andrew,

This is still an issue in 4.11.2 in C++ and Blueprints. You can replicate the issue with the following nodes in a widget blueprint’s OnPaint:

89876-capture.png

I have attached the copy-paste results from these two nodes. [link text][2]

This results in:

89877-badlines.png

Hey ,

Thank you for clarifying the repro steps for this issue. I was able to get the visual error to occur on my end using the steps provided and entered a bug report (UE-30471).

Once this issue has been fixed, it will be added the list of Fixed issues to an upcoming major engine release or hotfix. If you have further questions or need additional assistance, please let me know.

Cheers,

4.25.1 still having the issue.

It’s also in 4.26.2; the fix commit linked from issue UE-30471 was only in UE4.13. It got backed out because it made all AA lines 1px thick.