Texture filtering vs. Drivers.

Hey. I’ve noticed a problem\bug with texture filtering with nvidia drivers. When i test my app with anisotropic && trilinear filtering enabled on my gtx295 with v.266.58 drivers - it’s ok. But when i run it on GF6150 with v.258 drivers - anisotropic filtering doesn’t seem to work or work incorrectly with downscaled textures, until i set texture quality to “very high” via nvidia control panel(default is “high” so i’m kinda fckd because those textures are for app’s GUI). i’m just wondering is there a way to force it somehow or fix that? or maybe i’m doin filtering wrong?

that’s how i set texture filtering parameters:


glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &maxAniso); //returns 16 on both of videocards

.....

//Filtering
///...BindTexture
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
if(maxAniso != 0)
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, maxAniso);
///...Wrapping, MipMap generation	

i’m just wondering is there a way to force it somehow or fix that?

No. The driver is allowed to do pretty much whatever it wants with the max anisotropy value.

Yup. That sucks, but it looks like i’ve managed to trick driver a bit. I’ve set Anisotropy to x2 in my application. And it looks like blurriness was reduced. Or maybe it’s just me…

I am not too surprised, as this kind of cards becomes very slow with increasing levels of anisotropy. Anything higher 4x or 2x would become unusably slow as soon as a significant number of pixel is involved…

Besides what’s been mentioned, related to aniso, consider that before GeForce 8, anisotropic texture filtering was “very” directional. Even on high quality, if you rolled the eyepoint, you could see a very obvious “pulsing” in the quality (blurry,sharp,blurry,sharp,…). Here’s an old review that illustrates that:

http://techreport.com/articles.x/11211/6

Also worth considering (though you probably are already) that GeForce 6150 was released 6+ generations ago, and even then it wasn’t high- or mid-end GPU, but an “entry-level IGP” GPU. So it won’t have hardly any horsepower for pixel ops like aniso especially relative to a “high-end” GTxxx GPU like GTX295.

Also, related to the Quality vs. High Quality texture image quality setting in the NVidia control panel, it’s been a few generations since I looked into this, but IIRC one of the distinctions between the two is whether the “brilinear” optimization is used for trilinear which reduces your filtering quality as well:

http://alt.3dcenter.org/artikel/2003/10-26_a_english.php