I just recently started to work/experiment low-level DirectX access in my current project (DirectX 9.0) .
I want the textures to have a crisp look to it, so i render them with Point filtering. But in order to make textures look good over distance, i enabled Anisotropic filtering.
The code looks like this:
//anisotropic filtering
d3ddev->SetSamplerState(0,D3DSAMP_MINFILTER,D3DTEXF_ANISOTROPIC);
d3ddev->SetSamplerState(0,D3DSAMP_MAXANISOTROPY,8);
//nearest point filtering
d3ddev->SetSamplerState(0,D3DSAMP_MIPFILTER,D3DTEXF_POINT);
d3ddev->SetSamplerState(0,D3DSAMP_MAGFILTER,D3DTEXF_POINT);
Now, on all my Nvidia GPUs and IntelHD Chipsets (like the IntelHD 4000 in my laptop) all of this works as intended and looks like this:
[spoiler][/spoiler]
Now, i was also able to test this on an AMD Rig with a Ati Radeon HD 7950. And this is the result:
[spoiler][/spoiler]
No matter what i do, nearest point filtering doesn't want to work. (It seems to revert back to linear filtering...) I also tested this on a friends PC which also had the same GPU (Radeon HD 7950). Same issue here. Both PCs had up to date AMD drivers.
/Edit: Also tested on a Radeon HD 7850... same issue here.
Now my question is: is this a driver issue? If so, how can i bypass that? (The simplest solution would be to upscale the texture to a higher resolution in order to reduce the effect, but this is a very dirty and unsatisfying solution IMHO.)
I was able to find a topic on the Ogre forums which describes a similar issue (back from 2013) where the members also suspect a driver issue:
http://www.ogre3d.org/forums/viewtopic.php?f=4&t=77217
Does anyone have information about that? Is this a known driver issue?
/edit: Note that i'm a total noob when it comes to this low level stuff (just starting out.) Maybe i'm overlooking something?
/Edit2: Just noticed that i posted this in the wrong forum sub-category... oh well...