I. Introduction

Tout comme cela fut le cas pour directX8 , il aura fallu attendre le travail d'un passionné , M. Alexey Barkovoy ,pour nous donner les bibliothèques que Microsoft ne fournit hélas plus.

Pour illustrer l'utilisation de ce SDK avec C++Builder6, voici la marche à suivre pour recréer un des exemples c++ du SDK Dx9. Il s'agira en l'occurrence du Bilboard.exe, mais ce qui suit peut s'appliquer facilement à n'importe lequel des programmes de démonstration du SDK de microsoft.

Tout d'abord, il vous faudra télécharger le SDK directX 9 pour le c++ et l'installer :

Téléchargez maintenant le SDK pour C++Builder6  :

(Bibliothèque hébergée avec l'aimable autorisaton de leur auteur.)

Vous remarquerez que ce SDK est constitué d'une part des fichier .lib nescessaires à la compilation et d'autre part de 2 DLL dont l'objet est de remplacer les bibloithèques statiques correspondantes de microsoft, inutilisable avec C++builder. Cest 2 dll devront impérativement être distribuées/installées avec votre executable.

Ensuite, créez un répertoire BorlandLib dans le répertoire du SDK direct X (c:\DXSDK) et dézippez dedans les lib borland (clootie_dx90_libs.zip). , puis créez un répertoire BorlandDll et dézippez le contenu de la 2ème archive (clootie_dx90_dll.zip).

Maintenant, créez un répertoire BorlandDx9 dans le répertoire projet de c++builder et copiez y les répertoires billboard et common original,avec tout leur contenu (sous répertoires compris). Ces fichiers sont présents dans le SDK directx9 : C:\DXSDK\Samples\C++\Direct3D\Billboard et C:\DXSDK\Samples\C++\Common

Une fois cela fait, utilisez l'importateur de projet VC de C++Builder pour générer dans le répertoire BorlandDx9\billboard un projet C++builder.

Choisissez de générer à partir du projet VC++ release (à moins que vous n'ayez installé la version de débogage de directx9 ).

Vous devez donc avoir un superbe bibllboard.bpr.

Ouvrez ce fichier avec notepad et rectifiez le chemin des fichiers du repertoire common pour qu'ils correspondent à votre version borland : ...\BorlandDx9\Common\srcEnregistrez vos modification et ouvrez le projet avec C++Builder.

La 1ère chose à faire est de créer un nouveau fichier .h qui contiendra quelques macro destinées à remplacer les fonctions spécifiques de VC++ inexistantes en C++Builder, à savoir sinf, cosf, atanf …

Voici le source de ce fichier :

msMath.h
Sélectionnez
  1. //----------------------------------------------------------------------------- 
  2. // Definition des fonctions flottantes de msvc pour compilation avec C++Builder 
  3. //----------------------------------------------------------------------------- 
  4. #ifndef msmath_h 
  5. #define msmath_h 
  6. #define sqrtf (float)sqrt 
  7. #define tanf  (float)tan 
  8. #define cosf (float)cos 
  9. #define sinf (float)sin 
  10. #define atanf (float)atan 
  11. #define asinf (float)asin 
  12. #define acosf (float)acos 
  13.   
  14. #define max(aa,bb)   ( (aa)>(bb)?(aa):(bb) ) 
  15. #define min(aa,bb)   ( (aa)<(bb)?(aa):(bb) ) 
  16. #endif 

Enregistrer ce fichier dans  BorlandDx9\common\include.

Maintenant, il s'agit d'aller dans tout les sources du projet et de placer  un

#include «msMath.h »  avant tout include relatif à directx9 .

Si vous ne faites pas cela, le programme ne compilera pas.

Ouvrez à présent les options du projet et ajoutez dans l'onglet répertoires et conditions les  chemins  suivant :

I-A. Chemin des fichiers Include :

 
Sélectionnez
  1. .\Common\Src 
  2. ..\Common\Include 
  3. C:\DXSDK\Include à include files du SDK DX9 

I-B. Chemin des bibliothèques:

 
Sélectionnez
  1. C:\DXSDK\Borlandlib àil s'agit de la version Borland des lib du SDK directX9  

Sauvegardez votre projet et lancez une compilation.

Normalement, tout devrait se dérouler sans problèmes avec seuls quelques messages d'avertissements sans gravité.

Si donc vous avez obtenu un exécutable, il faut maintenant copier dans le même répertoire les 2 dll crées par notre ami contributeur , à savoir ; d3dx9ab.dll et DXErr9ab.dll.

Normalement, à ce stade, il ne vous reste plus qu'a exécuter le programme.

Pour vous faciliter la tâche, vous pourrez télécharger ICI les sources du projets Borland .

Bon directX9 avec Borland !

I-C. Autres liens utiles :

Les pages C++Builder du site de l'auteur de la version borland du SDK DX9 Image non disponible

Une suite de composants pour utiliser les fonctions DirectShow de directx9 avec C++Builder ou Delphi : http://www.progdigy.com/index.html