Pour utiliser OpenGL à partir d'Ada, il est nécessaire d'avoir préalablement installé OpenGL sur son poste de travail. Les fichiers nécessaires pour développer et exécuter des applications utilisant OpenGL sur Windows sont :
Si vous utilisez pcGrasp, il faut modifier les paramètres de la façon suivante :
- dans File --> Global Preference.....choisir par exemple Ada95, (Gnat debug 3.13p) --> edit
- dans compile/link command : ajouter =
gnatmake -g %F -gnatf -largs n:/Ada/gnat/lib/libopengl32.a n:/Ada/gnat/lib/libglu32.a n:/Ada/gnat/lib/libglut32.a n:/glut-3.6/glut-3.6/lib/glut/libglut.a- les répertoires n:/Ada/gnat/lib/ et n:/glut-3.6/glut-3.6/lib/glut/ sont les répertoires dans lesquels j'ai mis mes librairies
Si vous utilisez jGrasp, il faut modifier les paramètres de la façon suivante :
- dans Setting --> Compiler Settings --> Workspace, dans l'onglet Environment à la ligne C/L, gnatmake %D -g %FLAGS %FILE %FLAGS2; et à l'onglet Flags/Arg/Main il faut ajouter dans FLAGS2 : -largs c:/gnat/lib/libglut32.a c:/gnat/lib/libglut.a c:/gnat/lib/libglu32.a c:/gnat/lib/libopengl32.a
- le repertoire c:/gnat/lib contiennent les librairies d'OpenGL
Pour créer les bibliothèques lib*.a sous Windows, il faut tout d'abord
- télécharger pexport du site http://starship.python.net/crew/kernr/mingw32/pexports-0.42h.zip),
- ensuite prendre un fichier *.dll, par exemple opengl32.dll ( quelque part sur votre disque, probablement dans Windows/System32
- Exécuter :
pexports opengl32.dll > opengl32.def
pour extraire tous les symboles de opengl32.dll et les écrire dans le fichier opengl32.def.
Exécuter :
dlltool --dllname opengl322.dll --def opengl32.def --output-lib libopengl32.a
Ceci crée la bibliothèque libopengl32.a (dlltool fait parite des utilitaires de cygwin).
Copier libopengl32.a dans un répertoire approprié, par exemple : c:\gnat\lib\
Vous pouvez répéter l'opération pour glut et glu.
Si vous utilisez jGrasp, il faut modifier les paramètres de la façon suivante :
- dans Setting --> Compiler Settings --> Global, dans l'onglet Flags/Args/Main, à la ligne C/L, il faut ajouter : -largs -lGL -lGLU -lglut -lX11 -lXi -lXt
ensuite Apply et OK.
Tous ces fichiers, ainsi que quelques exemples développés en Ada se trouve dans le fichier Opengl.zip.
Un exemple de petit véhicule pouvant servir de sonde.
Et un autre avec le même petit véhicule et un bras articulé.