Morrowind/DirectX texture quality

Started by
2 comments, last by Nik02 19 years, 5 months ago
Hey all, I've finally gotten my terrain texturing as near to what I want as possible. It can now blend an almost unlimited number of textures onto my terrain in a way that looks really good and still leaves me with a framerate of 150 FPS or better. All is great, except that in the distance, textures are REALLY blurry! Now I've experimented with lots of ways to reduce the problem, but none have been entirely satisfactory. I'm aware that when viewed from a perspective close to the terrain, I should probably use anisotropic filtering, and this does solve the problem if I enable 2x or better anisotropic filtering in my hardware settings, but this is where Morrowind comes in. I notice that Morrowind does not suffer from the blurred texture in distance problem, even if I switch anisotropic filtering off. Now I'm not sure what is causing this. Things I have tried: - Anisotropic filter in directX texture stage state (min/mag filter), hardly any difference - Anisotropic filter in mipmap settings, hardly any difference - MipmapLODbias setting to -1.0f or lower, this works in the distance but produces very grainy textures up close - running in 32 bit colour mode to see if it is a 16bit colour problem... no difference. Now I notice that in Morrowind, your view distance is relatively tiny compared to mine and it uses lots of hills in the terrain to hide the fact that you have a really short view distance. I'm wondering if my problem is one of scale? I'm using a view distance of 800 units with textures repeating over every few tiles or so (I've tried playing around with this to no avail). I also wonder if perhaps it's a matter of the textures used, as morrowind seems to use a lot of flat looking textures and my editor currently uses more grainy looking textures (because they seem to tile a lot better that way). One other thing to bea rin mind is that I'm alpha blending textures onto the terrain, so I'm using two texture stages for every layer, so perhaps my alpha map filtering settings could also have some effect on the final texture quality? Now in another thread, someone suggested enabling dithering to reduce banding in 16 bit textures, which I shall try tonight, but I'm pretty sure it's either my scale that is the problem, or that I'm using the wrong combination of mag/min/mip filters. Either way, I hope that I'm able to improve the look of the textures as I'm sure it is much more blurred than it should be even without enable anisotropic filtering, which I'd rather not do if possible as IIRC it can considerably hurt performance, and I'd like even users who have it turned off to have good texture quality if it is posssible. Anyone have any suggestions by any chance? Thanks a lot, Steve
Cheers,SteveLiquidigital Online
Advertisement
I've known people to pass a sharpen filter over the mipmaps as they're generated, it apparently gives a less-blurry appearance. Never tried it myself though.
If at first you don't succeed, redefine success.
Thanks for the suggestion, but I don't think I need to go to quite those lengths to be honest. I'm sure I've gotten rid of this problem in the past via changing a setting or something in directX, but the last time I had a problem like this was a long time ago and I don't recall exactly what remidied it.... I'm pretty sure it was something I've talked about in the post. I don't know, perhaps I'm changing a setting at some point in my code and I don't realise it... I'll take a closer look tonight, but would still appreciate ideas!!

The more I think about it, I suspect the problem is caused by interaction between my two texture stages and the combination of filtering/mipmaps used. I recall having a problem where edges of blended areas turned black at a certain angle and it was due to mipmapping being enabled on the lower stage alpha map, as soon as I turned it off it for that stage, everything worked fine... I suspect it's something like that, but obviously slightly different as I have different symptoms.

Thanks anyhoo!

Steve
Cheers,SteveLiquidigital Online
The sharpening of mip levels is a good technique against your problem. You see, while D3D automatically enables the usage of mathematically correct data, it isn't always the most realistic approach.

Human vision system tends to sharpen far-away and/or blurry objects automatically, to enhance perception of visual details of real-world shapes and textures. D3D doesn't take this into account, and the results you see may seem blurry due to that fact (of course, there's a heap of d3d settings that affect that too).

I strongly recommend at least trying to use this technique - the most suitable way probably being using bicubic minification with a sharp kernel between successive mip sizes.

-Nik

Niko Suni

This topic is closed to new replies.

Advertisement