2010-10-13 20 views
0

Sur la plupart des ordinateurs, mon programme fonctionne correctement. Mais sur un ordinateur, il n'a pas réussi à générer mipmap.D3D Echec de la génération automatique de mipmap sur certaines cartes!

J'ai créé une texture avec D3DUSAGE_AUTOGENERATEMIPMAP,

D3DCAPS2_CANAUTOGENMIPMAP dit oui et CheckDeviceFormat dit D3D_OK (non D3DOK_NOAUTOGEN) aussi.

puis j'utilise LoadSurfaceFromMemory pour remplir la texture.

Mais sur cet ordinateur particulier, aucun mipmap n'est généré. Ce qui est pire, l'ordinateur est mon chef !!

Répondre

0

Je parierais que c'est un Intel (ou un autre fabricant moins important) intégré ou que ses pilotes ne sont pas à jour. Si cela fonctionne avec le pilote "reference" (REF), c'est un bug de pilote.

Si vous chargez une surface à partir de la mémoire de toute façon, est-ce vraiment beaucoup plus que d'appeler D3DXFilterTexture par la suite? C'est beaucoup plus susceptible de fonctionner.

Hélas vous découvrez les joies de casquettes qui mensonge pur et simple :(

+0

Merci pour votre suggestion. J'ai essayé sur mon ordinateur .. (je ne peux pas accéder à mon chef de bien sûr ..) J'ai créé une texture dynamique par défaut pool avec des mipmaps mais pas de mapmap autogen, j'appelle D3DXFilterTexture pour générer des mipmaps, mais ça ne marche pas et ça prend beaucoup de temps, je pense que je n'ai pas fait le bon chemin. , Aha ~ –