Ugly multitexture on TNT2

I’m working on a simple game that draw a large plane for the floor. Using multitexturing I got +30 fps over using two passes (fillrate), but the texture rendered with the second texture unit looks piss poor. The problem occurs even when the texture unit (GL_TEXTURE1_ARB) is used on its own. See this screenshot I set up to demonstrate: http://www.angelfire.com/apes/moremonkeys/multiugly.jpg .

I tracked the problem to a switch on the driver settings -“enable fast LINEAR_MIPMAP_LINEAR”, which when enabled does uglify GL_TEXTURE0_ARB. BUT when disabled does not disable the ‘feature’ on GL_TEXTURE1_ARB.

It occurs with textures of all colour depths and on demos Ive downloaded as well as my own code. And all texture environments (GL_ADD, GL_MODULATE, GL_REPLACE…).

Has anyone else had this problem? Is there a solution? Any insights will be greatly appreciated. I dont really wont to go back to drawing the polys twice because i had big plans for those extra fps.

I’m using a Creative TNT2 Ultra on Win98 and have tries the latest drivers from nvidia and creative, plus the 12.90 version. Ive even tried an entire system format + reinstall, which has only resulted in buggering my sound card.

I know the ultimate solution is to buy an up to date graphics card (hell, whole computer), but im looking for something a bit cheaper!

That’s because of the way trilinear filtering works (at least on a TNT2). It uses the second TMU.

Either don’t use trilinear filtering and use bilinear, or don’t use multitexturing.

[This message has been edited by NitroGL (edited 11-16-2002).]

It’s been a long, long time, but you should be able to disable this in the control panel. If the control panel doesn’t have the option for some reason, try setting the “RendererQualityFlags” registry key to zero.

Then again, this may just be a product limitation in the multitexture case; I don’t remember. For most mipmap situations, it’s nowhere near as obvious as in that picture…

  • Matt

It sure looks like it’s dithering the MIP LOD, makes me think NitroGL is right.