UWP Rendering Distortion


#1

Hello everyone,

I have stumbled upon an issue with my port on UWP. While the application is building, running, looking and function perfectly fine when I run it on my development environment, if I downloaded from the store or simple install on other systems, the app is looking very different. The colours get some weird distortion the fonts the same, even simple lines.

I cannot share with you the whole application but I have made a screenshot where you can clearly see the issue.

Have you seen this before?
Is there a way to fix it?

Thanks in advance.


#2

Are you using SDL_Renderer?

If so, what texture format(s) are you requesting, and what is getting used?

SDL_QueryTexture can be used to retrieve the texture’s format: https://wiki.libsdl.org/SDL_QueryTexture?highlight=(\bCategoryRender\b)|(CategoryEnum)|(CategoryStruct)


#3

Hello David,

Thank you for the quick response. I am using SDL_Renderer. When I am calling SDL_QueryTexture I am not requesting any pixel format I pass NULL as an argument. When I create the main texture I use SDL_PIXELFORMAT_ABGR8888.

Greetings.


#4

Hey @David_Ludwig

Should I be trying different texture format?

Greetings.


#5

Possibly…

Can you try using SDL_QueryTexture() to retrieve the pixel-format that ends up getting used, by textures? Once you’ve done that, see if the format is what you expected it to be. :slight_smile:


#6

Hey @David_Ludwig,

An other issue I failed to mention, which I have figured out and I am just using a work around for now, is when I create the Texture.

Lets say I want the App to be 600x480 resolution, only on WinRt I have to give 1200x480 when I call the function SDL_CreateTexture other wise I get back half of the pixel data.


#7

Hello,

So I am back with some feedback, (not sure if anyone is reading this but here I go). It was not the pixel format that was causing this, its the Renderer.

If I create a renderer with SDL_RENDERER_SOFTWARE it results in the distorted version. I have a safe guard in case it fails to create an SDL_RENDERER_ACCELERATED to create a SDL_RENDERER_SOFTWAR, but why would the software render result in this distortion?


#8

Hello,

To close the subject in case of future searches, the problem was unrelated to SDL after all!
Greetings.


#9

I guess the cause of the problem would be interesting for future searches :slight_smile:


#10

Hello @Daniel_Gibson,

I am using boost operators for the colour class. Specifically addable, less_than_comparable, and equality_comparable. Apparently when these implementations were malfunctioning with the Direct11 and software driver, on Nvidia. I am not sure 100% but implementing them my self in the class fixed my issue.

Greetings.