Page 1 of 1

16 bit texture dithering/banding problems.

Posted: Wed Aug 17, 2011 9:23 pm
by Bluewave256
Hi, I have found that textures suffer from 16 bit texture dithering/banding problems.

I am running a Steam copy of Deus Ex patched at 1.112fm with Kentie Deus Exe v. 3 launcher, Kentie DX 10 alternative renderer v. 27, Shifter v. 1.8.4, Deus Ex Enhanced v. 2 and New Vision v. 1 with the hotfix 1.01.

My graphic card is a Nvidia GeForce GTX 560 Ti that is compliant/compatible with DX 11, shader model 5.0 and OpenGL 4.2 with the latest Nvidia drivers 280.26.

My operating system is Windows 7 Home Premium 64 bit.

I have installed the latest DirectX version and the Visual C++ 2010 libraries.

These screenshots are without HDR, only classic lighting:

http://i.imgur.com/ITm6w.png
http://i.imgur.com/dC0D9.jpg

These screenshots are with HDR:

http://i.imgur.com/4Zz0k.jpg
http://i.imgur.com/VisUb.jpg

Excuse the quality but there isn't one hosting service that doesn't badly compress my images.

I suppose that the texture suffer from the buggy DXT1 compression. Maybe saving them in DXT3 could resolve the problem?

Re: 16 bit texture dithering/banding problems.

Posted: Wed Aug 17, 2011 9:48 pm
by DaveW
That's because the compression is DXT1, and is fixed at DXT1. It's just what Unreal uses. The only alternative is to forcefully replace the textures through the Direct3D 10 renderer but that isn't a solution for a lot of people. Ultimately, the clouds suck because there's not many colours between dark grey and black - even with DXT3 they'd still look a bit rubbish.

HDR makes it look better because it increases the contrast and hides it. This makes the clouds look better (because they're now darker and hide the banding), but the coronas look worse (because the contrast boosts the light)

Re: 16 bit texture dithering/banding problems.

Posted: Wed Aug 17, 2011 9:53 pm
by Bluewave256
DaveW wrote:That's because the compression is DXT1, and is fixed at DXT1. It's just what Unreal uses. The only alternative is to forcefully replace the textures through the Direct3D 10 renderer but that isn't a solution for a lot of people. Ultimately, the clouds suck because there's not many colours between dark grey and black - even with DXT3 they'd still look a bit rubbish.

HDR makes it look better because it increases the contrast and hides it. This makes the clouds look better (because they're now darker and hide the banding), but the coronas look worse (because the contrast boosts the light)
There's a way to forcefully replace the texture through the DX 10 renderer? It's a pity to not use these textures in their full grace.

Re: 16 bit texture dithering/banding problems.

Posted: Thu Aug 18, 2011 2:05 am
by flib
DaveW wrote:That's because the compression is DXT1, and is fixed at DXT1. It's just what Unreal uses. The only alternative is to forcefully replace the textures through the Direct3D 10 renderer but that isn't a solution for a lot of people. Ultimately, the clouds suck because there's not many colours between dark grey and black - even with DXT3 they'd still look a bit rubbish.
This is what that one guy was referring to as a solution for NV in multiplayer, right? Would 32bit textures be a noticeable improvement?

Re: 16 bit texture dithering/banding problems.

Posted: Thu Aug 18, 2011 5:10 pm
by Bluewave256
Is it possible to modify the Unreal engine to use 32 bit DXT5 or similar textures?

Re: 16 bit texture dithering/banding problems.

Posted: Thu Aug 18, 2011 5:12 pm
by DaveW
Not without the renderer trick. The textures are imported into UnrealEd as 24bit Bitmaps and converted to DXT1 by the compiler, there's no control over the process.

Re: 16 bit texture dithering/banding problems.

Posted: Thu Aug 18, 2011 5:20 pm
by Bluewave256
DaveW wrote:Not without the renderer trick. The textures are imported into UnrealEd as 24bit Bitmaps and converted to DXT1 by the compiler, there's no control over the process.
I read the Kentie's DX 10 alternative renderer website page and it seems you could override the limit of the Unreal engine by using DDS. Is it possible? Or is it possible to mod the compile so it doesn't convert the textures to lossy DXT1?

Re: 16 bit texture dithering/banding problems.

Posted: Thu Aug 18, 2011 6:23 pm
by DaveW
Bluewave256 wrote:
DaveW wrote:Not without the renderer trick. The textures are imported into UnrealEd as 24bit Bitmaps and converted to DXT1 by the compiler, there's no control over the process.
I read the Kentie's DX 10 alternative renderer website page and it seems you could override the limit of the Unreal engine by using DDS. Is it possible? Or is it possible to mod the compile so it doesn't convert the textures to lossy DXT1?
Yes, that's why I said
DaveW wrote:The only alternative is to forcefully replace the textures through the Direct3D 10 renderer but that isn't a solution for a lot of people.
:)

And no, there's no way to modify the compiler. I'm not entirely sure where the conversion actually occurs - it's probably in UnrealEd, really. Either way it's closed source so there's no way to alter it.

Re: 16 bit texture dithering/banding problems.

Posted: Mon Aug 29, 2011 8:05 am
by Kibou
If the lighting causes the problems, maybe it would be a possible workaround to create dark sky textures and set them to fullbright (I think that's what it's called) in UnrealEd?

There must be some way to fix this, because Unreal itself has skies that look great.

Image

Re: 16 bit texture dithering/banding problems.

Posted: Mon Aug 29, 2011 4:33 pm
by DaveW
Unreal's skies (and textures in general) are a lot brighter than Deus Ex's, which is why I think they got away with it. The only reason you can see this happening is because of how few colours there are between black and dark grey on a 24 bit image (256 shades of red, green, and blue). The same effect happens in print, if you're not careful.

Fullbright skies might work, but then you'd have bright skies when it's supposed to be night.

Re: 16 bit texture dithering/banding problems.

Posted: Tue Aug 30, 2011 12:36 am
by Jonas
Do you ever see the horizon in Unreal?

Re: 16 bit texture dithering/banding problems.

Posted: Tue Aug 30, 2011 6:29 pm
by DaveW
Only in the (awesome) SkyIsland maps, I think. The rest of the time it's hidden behind a repeated mountain texture, and you only every see the top of it since you always play in valley-like terrain.

I should note that the skybox for the SkyIsland maps looks awful, though.

(But I also note that Unreal is an awesome, awesome game)

Re: 16 bit texture dithering/banding problems.

Posted: Tue Aug 30, 2011 6:58 pm
by Jonas
Yeah I figured as much, just looking at the skybox in that screenshot makes me wonder how the horizon could be made to look all right. That's why DX's skies are always darker, I figure.

Re: 16 bit texture dithering/banding problems.

Posted: Tue Aug 30, 2011 7:21 pm
by DaveW
My plan is to use some modified skydome textures from CGTextures, which should fix that - since everything you see when you look up will be a photo. Hopefully there'll also be a slightly smaller dome with a panning cloud texture, to create some realistic movement like the originals.

I'd love to make some skydomes myself but I sold my Canon 350D in my second year of University, and now I only have a video camera. Not very useful.