2010-06-17 12 views
1

Étant donné une instance de IDirect3DDevice9, quelles sont les approches disponibles pour le mettre dans son état de rendu d'origine (c'est-à-dire l'état dans lequel il se trouvait lors de la création initiale du périphérique)?Quelles approches sont disponibles pour rétablir une instance IDirect3DDevice9 à son état de rendu par défaut?

Le moyen le plus propre que j'ai trouvé est de créer un bloc d'état via IDirect3DDevice9 :: CreateStateBlock juste après que le périphérique a été créé afin qu'il puisse être appliqué plus tard. Malheureusement, je travaille sous les contraintes d'un projet existant tel que je ne peux pas modifier le code de création de l'appareil; Au moment où mon composant obtient le périphérique, son état par défaut a été modifié. En conséquence, je suis à la recherche d'approches alternatives.

Thx! ~ Raf

Répondre

1

Eh bien, il n'y a aucun moyen d'être sûr à 100%. Le pilote échoue souvent à mettre les choses dans un état par défaut. La plupart des logiciels configurent leur propre état par défaut pour éviter de subir de tels problèmes de la part du conducteur.

Vous "pourriez" cependant compter sur le fait que le conducteur fait ce qu'il est supposé aussi. Vous pouvez ensuite lire les docs et définir tous les états de rendu sur le, supposé, default value.

Il n'y a pas d'autre moyen de le faire.