Journal OpenGL ? SDL ? Fmod ?

Posté par .
Tags : aucun
1
26
fév.
2004
Bonjour à tous.

M'interressant de près au domaine de la conception graphique 2D/3D et au multimédia par extension, j'ai fait une petite recherche sur les librairies et outils disponibles pour coder ce genre de choses, dans une optique libre et multi-plateforme.

Je cherche quelque chose de souple, de portable, de plutôt simple à implémenter, pour faire de la 2D, de la 3D, gérer les input/output et du son.

N'arrivant pas à me décider entre toutes ces librairies, je serai reconnaissant aux gens qui m'aideraient à compléter ma trousse d'outils (à laquelle j'ai rajouté WxWindows (WxWidgets ?) récemment : toute librairie facilitant la prise en charge de cette dernière est la bienvenue !)
  • # Re: OpenGL ? SDL ? Fmod ?

    Posté par . Évalué à 3.

    Pour la 2D gérer les input/output et le son, pygame est tip top, et contrairement à ce que l'on peut croire ce n'est pas fait que pour les jeux et c'est rapide, c'est aussi le binding SDL pour python, utitlisé par freevo par exemple.

    http://pygame.org/(...)
    http://freevo.sourceforge.net/(...)
  • # Re: OpenGL ? SDL ? Fmod ?

    Posté par (page perso) . Évalué à 2.

    Je m'y connais pas du tout en son. En 3d, je te conseil de jeter un oeil a :

    http://coin3d.org(...)
    et
    http://vtk.org(...)

    VTK n'est pas oriente jeux du tout, plutot scientifique. Mais si tu veux du vrai cross plateforme jete un oeil aux plateformes supportees:

    http://public.kitware.com/dashboard.php(...)
    :))

    Super facile d'utilisation a partir de python/tcl/perl/java et meme octave. Et les interfaces sont nombreuses: wx-----, gtk, tcl/tk, java/awt, Qt...

    voili
  • # Re: OpenGL ? SDL ? Fmod ?

    Posté par (page perso) . Évalué à 1.

    Ca dépend ce que tu veux faire:


    OpenGL si tu veux faire de la 3D

    SDL pour les routines d'entrées/sorties les timers et l'affichage 2D

    pour le son SDL_mixer qui est libre... Mais c'est clair que fmod est vraiment beaucoup plus performant, plus portable et peut lire tout et n'importe quoi très facilement.
    Si tu veux rester dans la puissance/facilité, choisis fmod. Tu peux l'utiliser gratuitement tant que tu ne revend pas ton programme.

    wxWidget, c'est que si tu as besoin d'une interface graphique pour une application ou un éditeur. Mais en fait, je crois que tu as cités les meilleurs librairie a mon gout.

    Allegro étant trop peu performante par rapport a SDL sur les routines d'affichage (D'après mes tests sur des affichages de gros bitmap par bit bliting)
    • [^] # Re: OpenGL ? SDL ? Fmod ?

      Posté par . Évalué à 1.

      Je trouve assez étonnant que tu trouves Allegro moins performant que SDL sur les routines d'affichage. Il utilise l'accélération matérielle 2D, il permet l'utilisation de bitmaps compilés pour accélérer encore les traitements et les routines sont écrites en assembleur optimisé. Les sources de tes tests sont disponibles quelque part ?
  • # Re: OpenGL ? SDL ? Fmod ?

    Posté par . Évalué à 1.

    Pour le son je te conseille OpenAL : http://www.openal.org(...) : équivalent d'openGL pour le son.
    C'est disponible pour la plate-forme linux/windows/mac et utilisé par la plupart des prog multi-plateforme qui nécessite du son 3D.
  • # Re: OpenGL ? SDL ? Fmod ?

    Posté par . Évalué à 1.

    Déjà, tu peux oublier Fmod étant donné que tu veux faire du développement libre, car malgré ce qui est indiqué sur le site de la librairie, c'est tout sauf libre. Si tu veux une librairie libre multi plates-formes pour le son, il faut choisir OpenAL, c'est ce qu'il y a de mieux.

    Ensuite, il faudrait préciser ce que tu veux faire exactement, parce qu'il y a deux approches possibles dans ce que tu indiquais. Soit utiliser une librairie de gestion d'interface graphique, soit utiliser une librairie de développement de jeux vidéo.

    Pour la première solution, le cadre d'utilisation concerne surtout des applications utilitaires (applis scientifiques graphiques, modeleurs 3D, logiciels auteurs, etc.) dans lesquelles l'interface est basée sur l'idée de fenêtre. La plupart des librairies type GUI conviennent dans ce cas, elles fournissent en général ce qu'il faut pour la 2D et s'interfacent facilement avec OpenGL pour la 3D.
    Exemples : GTK+/gtkglext, WxWidgets, QT, etc.

    Pour la seconde solution, le cadre est celui des jeux vidéos et autres types d'applications qui ne sont pas centrées sur le principe de fenêtre, ie. leur mode d'utilisation général est le plein-écran. Elles fournissent en général tous les services associés, comme les timers, la gestion des joysticks/claviers/souris, etc.
    Exemples : Allegro/AllegroGL, SDL, Plib, ClanLib, Ogre, Nebula Device, NeoEngine, NeL, Cube Engine, etc.

    Si tu veux faire de la 2D, je te conseille Allegro, c'est la plus simple à prendre en main et celle qui simplifie le plus la tâche du programmeur.

    Si tu veux faire de la 3D, je te conseille de commencer par OpenGL/Glut/FreeGlut qui est un hybride entre ces deux solutions pour te faire la main. Tu peux suivre en parallèle les didacticiels OpenGL de http://nehe.gamedev.net(...) et de http://www.linuxgraphic.org/(...) (down pour le moment). Ensuite, tu pourras choisir une librairie un peu plus évoluée en connaissance de cause.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.