IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques C++ Discussion :

projet mais avec quelles bibliotheques ?


Sujet :

Bibliothèques C++

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web en Loisir
    Inscrit en
    Janvier 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web en Loisir

    Informations forums :
    Inscription : Janvier 2006
    Messages : 129
    Points : 100
    Points
    100
    Par défaut projet mais avec quelles bibliotheques ?
    bonjour,

    Je suis confirmé en programmation web et débute en c++. Devant le nombre de biliothèques graphique de c++, je suis un peu perdu pour choisir laquelle ou lesquelles utiliser pour le projet suivant que j'ai déjà réalisé en javascript avec les framework mootools et raphael mais que je souhaite porter dans un langage compilé pour des questions de rapidité.
    J'ai besoin :
    - d'un container visible de taille fixe qui contient le fond et les objets (si le fond est plus grand, seul la partie situé dans le container est visible)
    - d'un fond d'écran composé de lignes, point, cercle... (graphisme vectoriel)
    - des objets vectoriels (texte, cercle, triangle) se déplaçant sur les lignes
    - les objets seront 'clickables'

    Je voudrais avant tout pouvoir zoomer/dézoomer le fond et tous les objets simultanément sans perte de qualité (c'est pourquoi je n'utilise pas d'images bitmap mais des dessins vectoriels).

    Peut-on faire cela avec SDL, Qt ou autre chose ?
    Que pouvez-vous me conseiller sinon comme bibliothèque pour réaliser ce projet ?

    en vous remerciant,
    Christophe

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    SDL te permet de gérer des rectangles. Par exemple, il te faudra créer le code pour la gestion des clics, de la sélection des objets visuels.
    Qt est plus adapté pour faire une interface réelle, mais demande beaucoup d'apprentissage.

    Personnellement, la seule fois où j'ai géré de l'interface en C++, c'était un tetris avec la SDL et j'en ai eu pour deux heures, mais je n'avais pas besoin de la souris, donc c'était plus simple. (j'ai aussi fais de la 3D, mais sans vraie interface: affichage et controle automatique de la scène)

    J'ai fais pas mal d'interface en java, par contre, et là-bas, swing est un petit bonheur. (c'est d'ailleurs swing qui me fait faire du java, ces temps-ci).

    Je ne connais pas assez autres libs. j'ai entendu dire beaucoup de bien de SFML comme successeur C++ de la SDL (qui est en C). J'ai utilisé glut pour fenetrer de l'opengl, mais ce n'est pas trop adapté à ton problème, je pense.

    Si tu as du temps, lance toi sur SDL ou SFML, ca ne devrait pas être trop difficile, et l'apprentissage en vaut le coup.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web en Loisir
    Inscrit en
    Janvier 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web en Loisir

    Informations forums :
    Inscription : Janvier 2006
    Messages : 129
    Points : 100
    Points
    100
    Par défaut sfml
    Merci pour ta réponse.
    Je vais jeter un oeil à SFML qui m'a l'air pas trop mal.
    Tu dis que les interfaces homme/machine en java sont faciles avec swing, penses-tu qu'il faille mieux que je développe mon projet en java ? car il y aura beaucoup de clic sur chaque objet (une quinzaine environ) qui sont eux-memes découpés en environ 10 objets (objets 'texte clickable' et 'objet graphique clickable'). Par contre au niveau objet graphique, c'est facile en java ?
    Tu parles aussi de Qt, en quoi cela serait mieux par rapport à SFML ? (bien que je préfèrerais une librairie open source même si ce n'est pas une obligation)

  4. #4
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Bonsoir

    Sauf si tu fais des choses un peu complexe (et afficher une 15aine d'objets n'en fait pas partie), ton interface en java sera fluide aussi.
    Niveau difficulté d'apprentissage, à mon avis, C++/Qt ou java/swing, ça sera globalement pareil (2 gros framework contenant beaucoup de choses). A priori, l'équivalent de swing dans Qt, c'est le module QtGraphics (regarde par exemple ça : Diagram Scene Example)
    Pour terminer, Qt et la SFML sont tous deux open source

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Web en Loisir
    Inscrit en
    Janvier 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web en Loisir

    Informations forums :
    Inscription : Janvier 2006
    Messages : 129
    Points : 100
    Points
    100
    Par défaut
    Merci bien pour cette réponse.
    Le lien que tu donnes pour Qt est vraiment intéressant.
    Je vais creuser tout ça.

    Penses-tu que Qt est plus puissant que SFML pour la partie graphique ?
    Par exemple, joindre 2 objets se déplaçant par une ligne (j'ai vu dans le lien que Qt pouvait faire ça facilement mais SFML ???) ou faire un drag d'un objet ?

    bonne journée
    Christophe

  6. #6
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    Qt offre la possibilité de jouer avec des objets vectoriel (encore qu'il n'y ait pas, à ma connaissance, de librairie Qt spécifique - je peux toutefois me tromper).

    Dans le domaine du libre, la librairie la plus utilisée reste Cairo (page web: http://www.cairographics.org/). Cette librairie est utilisée dans de nombreux navigateurs web, ainsi que dans le logiciel Inskape et bien d'autres.

    Cairo propose un binding C++ nommé cairomm (http://www.cairographics.org/cairomm/), tout aussi libre que son ainé.
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur Web en Loisir
    Inscrit en
    Janvier 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web en Loisir

    Informations forums :
    Inscription : Janvier 2006
    Messages : 129
    Points : 100
    Points
    100
    Par défaut
    Merci !!
    Cairo a l'air d'être une bonne librairie graphique vectoriel.

    Je suppose que la gestion des évênements souris (click, mouseover...) se gère avec les librairies plus communes (SFML ou Qt) mais j'avoue que je m'interroge comment interfacer tout ça. J'en suis qu'au début des tutoriaux de base et c'est assez déroutant...

    Bon je retourne à mes tutoriels. Vous m'avez bien éclairci tout ça

    à bientôt et merci

  8. #8
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Salut,

    Citation Envoyé par Emmanuel Deloget Voir le message
    Dans le domaine du libre, la librairie la plus utilisée reste Cairo (page web: http://www.cairographics.org/). Cette librairie est utilisée dans de nombreux navigateurs web, ainsi que dans le logiciel Inskape et bien d'autres.

    Cairo propose un binding C++ nommé cairomm (http://www.cairographics.org/cairomm/), tout aussi libre que son ainé.
    +1 pour cairo, cependant Inkscape a sa propre bibliothèque de rendu, livarot...

    Sinon y'a aussi agg, très impressionnant par sa rapidité... mais maintenant que cairo est mature, ça ne vaut peut être plus la peine... ???

    Enfin, il y a wxWidjets et son extension wxSVG... pour marier le tout...

  9. #9
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    Citation Envoyé par minnesota Voir le message
    Salut,

    +1 pour cairo, cependant Inkscape a sa propre bibliothèque de rendu, livarot...
    Etrange. Inkscape a pourtant bien un dépendance sur Cairo.

    Quoi qu'il en soit, j'ai regardé vite fait le code de livarot et deux nouvelles intéressantes :

    1) le code est écrit complètement en C++ (pas regardé le design, et j'ai un doute sur sa propreté après avoir vu un fichier dans lequel il y a une quinzaine de fonctions nommées QuickScan, Scan, ...).

    2) les commentaires sont souvent en Français, ce qui sera un argument de poids pour les non-anglophone (le code est quand même en franglais, option pas trop de Français).
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  10. #10
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Oui oui, cairo est utilisé, mais pas pour le rendu... si je me souviens bien, c'est pour les exports en png, pdf, entre autres... en tout cas, une migration est prévue... ça c'est sûr... donc je pense qu'il vaut mieux investir sur cairo et sa descendance...

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/05/2015, 05h39
  2. Site en multilingue, oui mais avec quelle méthode ?
    Par HwRZxLc4 dans le forum Langage
    Réponses: 5
    Dernier message: 31/10/2009, 19h05
  3. Visual Basic mais avec quelle base de données ?
    Par mat-tech dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 03/09/2008, 19h03
  4. comment structurer une modél. UML - projet J2EE avec pattern
    Par RocketArena dans le forum Architecture
    Réponses: 18
    Dernier message: 20/07/2007, 19h20
  5. projet .war avec Eclipse
    Par CapToMatteo dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 20/04/2004, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo