Détruire un objet DirectX

 

Pour détruire un objet, il suffit d'utiliser la méthode Release().

En soit, cela n'est donc pas bien difficile...

Par contre, il s'agit là simplement d'un conseil, et qui ne sert pas uniquement dans DirectX, mais à chaque fois que l'on utilise un pointeur en développement:

Pour être certain de ne pas réutiliser un pointeur sur un objet qui n'existe déjà plus ou n'a jamais été créé, intialisez toujours se pointeur à NULL tant que la création n'est pas faite, et remettez le systématiquement à NULL lorsque l'objet est détruit ! Avant de faire appel à cet objet, il suffira de regarder la valeur de ce pointeur avant.

On pourra d'ailleur utiliser ceci:

#define DXRelease (x) if (x) {x->Release(); x=NULL);}

En fait, vous verrez vite que la méthode Release existe pour différent objets dans DirectX. D'où le nom DXRelease. Il ne reste plus alors qu'à passer en paramètre le pointeur sur l'objet pour déclencher le Release et remettre le pointeur à NULL. On notera que je teste que le pointeur n'est pas déjà à NULL avant de faire quoi que ce soit !