OpenGL/3Ds/AllegroGL... !!?

OpenGL/3Ds/AllegroGL... !!? - C - Programmation

Marsh Posté le 20-02-2007 à 00:39:11    

Alors j'ai un projet (on est 4) où je dois simuler la gestion d'un trafic aérien : y'aura des zavions, et aéroports et bien entendu la planète Terre en l'an 2007 toussa.
Il faut aussi faire une interface graphique parce que faire du Djikstra and co en console, c'est pas top. J'aimerais faire au moins un petit truc sympa : une surface et des avions pour commencer.
 
Ainsi, je me suis intéressé à l'OpenGL pour faire de la 3D. Je n'y connais rien et y'a vraiment beaucoup de trucs sur google. Après 2-3h de farfouillage parmi des tutos en C++ en vrac, j'ai quelques interrogations. Je ne sais pas par quoi commencer...
 
Pour le projet, je vais donc utiliser des avions. Alors pour ça, il y a du 3dsmax, blender... Donc des fichiers 3ds, etc. Je pense pouvoir trouver des avions en 3ds sur le net mais...
 
Je code en C. Et le problème est que je souhaite intégrer l'interface OpenGL dans du GTK+ : je pense que c'est possible. Mais bon, j'ai trouvé la librairie GLUT : pas terrible, elle crée elle-même sa fenêtre donc c'est pas bon pour moi. Sinon, ayant déjà fait de l'allegro, je me suis rappelé qu'il y avait AllegroGL : je pense pouvoir intégrer de l'allegro dans du GTK+ : ai-je tord ?
 
Puis pour les avions, faut que je puisse les importer dans mon code ! AllegroGL le gère-t-il ?
 
Ou alors que me conseillez-vous pour commencer l'OpenGL pour faire mon projet avec mes pitits avions ? Ca se trouve, je me gourre complètement. Merci pour votre aide.

Reply

Marsh Posté le 20-02-2007 à 00:39:11   

Reply

Marsh Posté le 20-02-2007 à 00:45:46    

Juste comme ça, pourquoi ne pas faire une représentation uniquement 2D (type SDL)? Si tu n'y connais rien, tu risque de passer la moitié (au pif hein [:dawao]) de ton projet à apprendre la 3D.
En plus, à voir vite fait la doc de cette lib, y'a rien pour l'import d'objets, donc faudra que tu codes toi-même/récupères (et donc l'apprendre) un importeur. C'est clair que ça claque, mais faut que tu sois sûr de pas perdre trop de temps dessus, comparer à l'utilisation d'une lib 2D...

Reply

Marsh Posté le 20-02-2007 à 10:17:58    

Euh ouais, l'utilisation de la 3D est pas forcément "intéressante" (en terme de temps investi) pour représenter un traffic aérien (cf. vue radar typique, pas loin du sol)
 
Je dis ça si tu n'as jamais fait de rendu 3D, que ce soit OpenGL ou n'importe quelle api 3D, et qu'en plus tu veux importer tes propres modèles de 3ds ou blender... C'est imposé par le sujet ?

Reply

Marsh Posté le 20-02-2007 à 11:46:07    

Non, la 3D n'est pas imposée. Faire de la 3D, c'était une idée de notre groupe pour déjà apprendre quelque chose de nouveau et puis faire de l'animation 3D en elle-même. Puis pour les 3ds etc., c'était pour importer des avions. Parce que je crois qu'on ne peut pas faire des avions qu'avec des cubes, des sphères et des teapots  :pt1cable:

Reply

Marsh Posté le 20-02-2007 à 11:53:46    

Non, par contre avec des listes de triangles tu peux faire tout ça...
Essaye ça => http://www.ogre3d.org, c'est d'la bonne[:aras qui rit]
 
Avec tu vas pouvoir très vite construire des animations, et ya tout ce qu'il faut pour loader des meshes, faire des gui, etc...
 
Edit
 
Les sources sont en cpp, ya aussi des wrappers c#, python, ptet d'autres langages encore


Message édité par lkolrn le 20-02-2007 à 11:55:07
Reply

Marsh Posté le 20-02-2007 à 12:08:18    

Euh, t'as pas l'impression de lui fournir une ferrari pour aller à la boulangerie :D
Le temps qu'il apprenne à se servir d'Ogre correctement, et le projet sera fini :P

 

Edit: pis je crois pas qu'il y ait de bindings C


Message édité par IrmatDen le 20-02-2007 à 12:08:41
Reply

Marsh Posté le 20-02-2007 à 17:44:18    

Nan ya rien pour le C.
 
Alors certes j'abonde, mais bon c'est hyper documenté, le fofo est très actif, copié-collé du wiki pour coder proprement dès le début. Et surtout ça reste 'achement plus simple (malgré la richesse des possibilités offertes par Ogre) que de se faire un loader de .3ds ou autre à la main par exemple...
 
Un GUI de base c'est 100 lignes de code pas plus, les input sont là, pareil pour le pathfinding (ya 'achement plus puissant que Djikstra au passage), le load des meshes+materials+textures se fait en 10 lignes, déplacer les objets est ultra-simple, de même pour lire les anims 3ds ou autre, etc etc etc... Le tout avec un rendu de base correct, et qu'on peut affiner rapidement.
 
Avec OpenGL ou DirectX, ya plusieurs étapes qu'il va falloir coder à la main, donc comprendre certaines techniques/mécanismes sous-jacents (c'est intéressant, mais ça prend du temps) et les appliquer avant d'avoir le moindre "truc qui s'affiche".
 
 
Sinon à la base une vue 2D du dessus façon radar me paraît beaucoup plus réaliste, peu importe la lib utilisée, et ça permet de plus se concentrer sur les aspects simulation que graphismes (càd le coeur du projet apparemment). Après ça en jette moins c'est sûr... [:airforceone]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed