mipmapping in directx

Using the linear_mipmap_linear filter on my textures seems to have no effect in DirectX, though it does work in OpenGL. Does anyone have any experience with this? Is there some additional step I need to do to get mipmaps with DirectX?

I don’t have problems with mipmaps under Dx9. I checked this with a Win7/GTX 260 and a WinXP/Amd 5450. But I’m using an old (6 month) build of Panda and I’m not sure if anything has been changed recently.

If you want, you can send me a minimal sample of your code + art that has the problem and I can check it on my computer.

Zhao

Thanks for replying, I missed it somehow.
I’ve put together the simplest possible demo.
http://novuscom.net/~spacebullet/out/mipmap_test.zip
I tested 1.7.2, 1.8.0, and the latest snapshot build, all with the same results:

GL

DX9

Hi teedee,

I think I found your problem. Try manually setting the texture filter.

        plane = self.loader.loadModel('/c/test/Newfolder/card')
        tex = loader.loadTexture( '/c/test/Newfolder/checker.png' )
        tex.setMinfilter( Texture.FTLinearMipmapLinear )
        tex.setMagfilter( Texture.FTLinear )
        plane.setTexture( tex, 100000 )
        plane.reparentTo(self.render)
        self.cam.setPos(0, -50, 5)

Making this change on my computer fixes the problem. Mostly likely, the texture set for the dx9 branch is not checking the loadprc when setting the texture params.

Zhao

Awesome, it works if I put the filter in the EGG file.
I’ll see if i can find the problem in the panda code.