Précédent   Forum du club des développeurs et IT Pro > C et C++ > C++ > Bibliothèques
Bibliothèques Forum d'entraide sur les bibliothèques C++ : installation, utilisation. Avant de poster : Cours sur les bibliothèques C++
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 17/11/2012, 19h05   #1
rollbich
Futur Membre du Club
 
Homme
Développeur Web en Loisir
Inscription : janvier 2006
Messages : 38
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : janvier 2006
Messages : 38
Points : 15
Points : 15
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
rollbich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2012, 16h08   #2
leternel
Expert Confirmé
 
Homme Pierre
Ingénieur développement logiciels
Inscription : juin 2007
Messages : 1 185
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Localisation : France

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

Informations forums :
Inscription : juin 2007
Messages : 1 185
Points : 2 500
Points : 2 500
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.
  • La plus sotte des questions est celle qu'on ne pose pas.
leternel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2012, 20h27   #3
rollbich
Futur Membre du Club
 
Homme
Développeur Web en Loisir
Inscription : janvier 2006
Messages : 38
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : janvier 2006
Messages : 38
Points : 15
Points : 15
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)
rollbich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2012, 22h26   #4
gbdivers
Responsable C++

 
Homme Guillaume Belz
Biochimiste
Inscription : novembre 2008
Messages : 5 317
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Belz
Âge : 37
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Biochimiste
Secteur : Santé

Informations forums :
Inscription : novembre 2008
Messages : 5 317
Points : 19 515
Points : 19 515
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
__________________
Vous souhaitez rejoindre l'équipe de bénévoles qui fait vivre Developpez (traduction, rédaction, modération) ? Contactez moi par MP.

Ma page personnelle avec la liste de mes articles - Mon blog sur le C++, Qt et les GPU.

Je suis régulièrement sur le chat pour les questions C++/Qt.

Apprendre Qt 5 : vidéos d'installation (YouTube), extraites du livre Créer des applications avec Qt 5.
gbdivers est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2012, 12h36   #5
rollbich
Futur Membre du Club
 
Homme
Développeur Web en Loisir
Inscription : janvier 2006
Messages : 38
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : janvier 2006
Messages : 38
Points : 15
Points : 15
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
rollbich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2012, 14h38   #6
Emmanuel Deloget
Expert Confirmé Sénior
 
Homme Emmanuel Deloget
Développeur informatique
Inscription : septembre 2007
Messages : 1 826
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel Deloget
Âge : 37
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 826
Points : 4 381
Points : 4 381
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.
Emmanuel Deloget est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/11/2012, 20h36   #7
rollbich
Futur Membre du Club
 
Homme
Développeur Web en Loisir
Inscription : janvier 2006
Messages : 38
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : janvier 2006
Messages : 38
Points : 15
Points : 15
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
rollbich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2012, 22h02   #8
minnesota
Membre Expert
 
Inscription : avril 2010
Messages : 1 233
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 1 233
Points : 1 602
Points : 1 602
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...
__________________
.
NTMaxTools
....Bibliothèque de scripts utilitaires batch pour Windows (Command Line Routines)
....Tout n'est pas public ou publié encore... et mon téléchargement montre que le compteur des Downloads n'est pas à jour...
minnesota est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2012, 22h30   #9
Emmanuel Deloget
Expert Confirmé Sénior
 
Homme Emmanuel Deloget
Développeur informatique
Inscription : septembre 2007
Messages : 1 826
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel Deloget
Âge : 37
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 826
Points : 4 381
Points : 4 381
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.
Emmanuel Deloget est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2012, 22h49   #10
minnesota
Membre Expert
 
Inscription : avril 2010
Messages : 1 233
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 1 233
Points : 1 602
Points : 1 602
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...
__________________
.
NTMaxTools
....Bibliothèque de scripts utilitaires batch pour Windows (Command Line Routines)
....Tout n'est pas public ou publié encore... et mon téléchargement montre que le compteur des Downloads n'est pas à jour...
minnesota est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h12.


 
 
 
 
Partenaires

Hébergement Web