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

C++ Discussion :

Quelle bibliothèque pour de la 2D basique mais désaliasée ?


Sujet :

C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 142
    Points : 89
    Points
    89
    Par défaut Quelle bibliothèque pour de la 2D basique mais désaliasée ?
    Bonjour à tous,

    Je souhaite réaliser un logiciel de partition/tablature pour guitare et basses pour mon projet de fin d'études (style Guitar Pro sous Win).
    Étant plutôt adepte de wxWidgets, je me suis naturellement tourné vers OpenGL (wx proposant des classes facilitant l'intégration des scènes OpenGL dans une GUI de composants standards).

    Cependant, OpenGL est franchement surdimensionné par rapport à mes besoins, et je me demande si cela ne risque pas de rendre le logiciel trop lourd au final.
    J'ai donc commencé à regarder ce qu'il existait comme lib pour le graphisme 2D, mais j'avoue que je ne sais pas trop où donner de la tête, et que je ferais mieux de demander des conseils sur ce forum plutôt que de m'amuser à les tester une par une !

    Mes besoins sont les suivants :
    - 2D vectorielle (jolie à regarder, bien lisse, et tout) pour dessiner les partoches
    - Portable Nux/Win/Mac
    - Intégration du canevas au sein d'une GUI standard (par standard j'entends barre de menu et d'outil, boutons, zone de saisie, tout ça) si possible native (ouais, je sais, je dirige à peine mon choix )
    - Certainement d'autres choses que j'oublie, mais pour l'instant on va dire que ça suffira !

    Merci d'avance pour vos coups de main

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 366
    Points : 444
    Points
    444
    Par défaut
    Salut,

    Tu devrais regarder du côté de Qt. Y'a tout ce qu'il faut (bon peut être même un peu trop) et c'est portable.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 142
    Points : 89
    Points
    89
    Par défaut
    Je suis très réfractaire à tout ce qui n'est pas standard. Et Qt, en terme de pas standard, il se débrouille plutôt très bien…

  4. #4
    Membre régulier
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 94
    Points : 94
    Points
    94
    Par défaut
    Salut, regarde du côté de:
    - AGG (http://www.antigrain.com/)
    - Juce
    - Cairo
    Bonne chance.

    Bouba

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 142
    Points : 89
    Points
    89
    Par défaut
    Oui, j'ai déjà eu l'occasion de tomber sur ces noms…
    Une petite préférence, personnellement, parmi ces trois ?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 142
    Points : 89
    Points
    89
    Par défaut
    Au fait, je voulais juste souligner un fait.
    Je l'ai affirmé moi même mais en fait je n'en sais rien :
    J'ai semblé écarter OpenGL des possibilités, mais il n'en est rien. Quelqu'un peut-il infirmer ou confirmer la « judiciosité » de l'éventuel choix d'OpenGL pour mon projet ?

  7. #7
    Membre régulier
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 94
    Points : 94
    Points
    94
    Par défaut
    Perso j'ai surtout travaillé avec AGG, mais c'est un framework pas du tout facile à prendre en main, il faut avoir des connaissances en graphisme, connaître le principe de fonctionnement des principaux algorithmes de rendus. En fait AGG permet de créer un moteur de rendu graphique perso. Lol, je l'ai utilisé lors d'un stage chez Guitar Pro, j'avais écrit un moteur de rendu pour l'affichage des partoches.

    Sinon Cairo est pas trop mal non plus et beaucoup plus simple à utiliser, si tu n'a pas trop de temps je te conseillerai ça.

    Voilà, bonne chance.

    Bouba.

  8. #8
    Membre régulier
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 94
    Points : 94
    Points
    94
    Par défaut
    Hep, ouai, pour OpenGL => gros inconvénient, le rendu n'est pas exactement le même d'une carte graphique à une autre. Pas grave pour les jeux, pour une appli comme la tienne c'est plus ennuyeux. Y'a un framework de dessin vectoriel 2D basé sur OpenGL qui existe: Amanith.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 142
    Points : 89
    Points
    89
    Par défaut
    Oh, je fais ça pour mon projet de fin d'études, mais c'est qu'un élément du projet.
    Ce logiciel je le fais en grande partie pour me faire plaisir… et c'est en faisant les choses de la meilleure façon possible que je me fais plaisir

    Lol, je l'ai utilisé lors d'un stage chez Guitar Pro, j'avais écrit un moteur de rendu pour l'affichage des partoches.
    Ah ouais, en effet. On peut dire sans trop de risque que c'est adapté, alors, huhu .
    Le moteur est actuellement utilisé par GP ?

    Merci pour tes bons conseils !

  10. #10
    Membre régulier
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 94
    Points : 94
    Points
    94
    Par défaut
    Je ne pense pas, en fait c'était un prototype pour montrer la puissance de AGG. Voilà, si tu as des questions sur le fonctionnement de cette lib n'hésites pas.

    Good Luck.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 142
    Points : 89
    Points
    89
    Par défaut
    Citation Envoyé par Wikipédia
    [Cairo] peut utiliser une sortie image vers des fichiers PNG mais aussi une sortie vers des fichiers PostScript et PDF. Cairo utilise l'accélération matérielle si elle est disponible.
    Deux points très charmants, ma foi

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 142
    Points : 89
    Points
    89
    Par défaut
    Je me disais « Cairo, c'est utilisé par Firefox, c'est donc certainement une lib de choix. »

    Mais je viens de lire ça :
    Citation Envoyé par un dev de Mozilla
    At the time I wrote the cairo backend for mozilla svg, I was unaware of the Anti-Grain library. After that, work in the common mozilla svg code took priority. If someone was willing to put in the effort to create an Anti-Grain backend there's a number of us who would be interested in comparing its performance relative to cairo.
    Ça fait réfléchir (et ça m'aide pas à choisir !)

  13. #13
    Membre régulier
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 94
    Points : 94
    Points
    94
    Par défaut
    Huum, attention pour l'accélération matérielle, je ne me souviens plus trop mais je crois que ce n'est que dans le cas ou tu l'utilises avec une extension du serveur X (donc que sous nux).

    Un article intéressant qui explique pourquoi mozilla a choisi Cairo pour le moteur de rendu des pages dans firefox : http://weblogs.mozillazine.org/tor/a...why_cairo.html.

    Evidemment c'est un choix qui est discutable !!

  14. #14
    Membre régulier
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 94
    Points : 94
    Points
    94
    Par défaut
    Pour les performances j'avais fait des benchmarks, AGG sortait largement du lot. Apparement les auteurs de Cairo n'ont pas comme objectif prioritaire l'amélioration des perfs, ils préfèrent se concentrer sur les fonctionnalités. Si AGG est si performant c'est que tout est basé sur les templates C++, pas facile a prendre en main au début !

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 142
    Points : 89
    Points
    89
    Par défaut
    Chouette trouvaille, cet article, un grand merci !

    Je suis un fan inconditionnel des notions « avancées » (guillemets, parce que j'avoue, y'a des trucs, je crois que je comprendrais jamais) du C++. Donc non, pour moi, C++ isn't bad at all.

    Par contre, la sortie PDF, c'est franchement tentant…

    Et même si softwarement parlant, AGG est plus performant, ce sera toujours plus gourmand en CPU qu'un Cairo accéléré par le hard… Et j'ai cru lire que les devs de Cairo avaient l'air de vouloir étendre l'accélération ailleurs que sous Nux, surtout si Mozilla l'a choisi. Faudrait que je me renseigne sur ce qu'est Glitz, exactement.

    Je lirai cet article à tête un peu plus reposée !

  16. #16
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par three minute hero Voir le message
    Je suis très réfractaire à tout ce qui n'est pas standard. Et Qt, en terme de pas standard, il se débrouille plutôt très bien…
    Bonjour,
    en quoi Qt n'est il pas standard?????

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 142
    Points : 89
    Points
    89
    Par défaut
    Les signaux et les slots !
    Ils ont modifié le langage pour introduire ces notions.

  18. #18
    Membre actif
    Avatar de Le Barde
    Homme Profil pro
    Chanteur
    Inscrit en
    Juillet 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Chanteur

    Informations forums :
    Inscription : Juillet 2007
    Messages : 343
    Points : 259
    Points
    259
    Par défaut
    Sinon, pour revenir à ta question initiale, la SFML de Laurent Gomila ne peut-elle pas être une solution à ton problème ?
    Hayiiiiiiiiiiiiii !

  19. #19
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Citation Envoyé par three minute hero Voir le message
    Les signaux et les slots !
    Ils ont modifié le langage pour introduire ces notions.
    Disons que ca reste du C++ standard mais avec un préprocésseur perso/
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  20. #20
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par three minute hero Voir le message
    Les signaux et les slots !
    Ils ont modifié le langage pour introduire ces notions.
    ??? mouais... Disons plustôt qu'ils ont simplifié l'utilisation des signaux et des slots grace a un préprocesseur "maison". C'est analogue au template. Mais après c'est standard au plus haut points. Sinon il aurait du mal à être aussi portable.

    Les signaux et slots, tu les retrouve aussi avec Boost. Et c'est plus chiant a utiliser.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Quelle bibliothèque pour une interface graphique C++
    Par peace_info dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 16/03/2007, 14h42
  2. Quelle bibliothèque pour gérer des contours actifs ?
    Par khayyam90 dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 06/12/2006, 13h58
  3. [VB6] Quelle bibliothèque pour Keypress??
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 02/06/2006, 12h04
  4. [C#][OpenGL] Quelle bibliothèque pour utiliser OpenGL en C#
    Par glKabuto dans le forum Windows Forms
    Réponses: 6
    Dernier message: 23/05/2006, 13h56
  5. Quelle Bibliothèque pour une IA d'un RTS ?
    Par methos69 dans le forum Bibliothèques
    Réponses: 9
    Dernier message: 11/02/2005, 10h28

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