grafik toolkit en c++

grafik toolkit en c++ - C++ - Programmation

Marsh Posté le 25-10-2006 à 14:52:44    

Bonjour,
je voudrais faire l'interface (2D) du monopoly en c++ et je recherche pour cela une boite à outil trés basique avec une libraire de fonctions qui génèrent des figures géométriques et que je pourrai utiliser dessuite sans passer par des installations de logiciels comme QT,wxwidget...
merci d'avance

Reply

Marsh Posté le 25-10-2006 à 14:52:44   

Reply

Marsh Posté le 25-10-2006 à 14:54:54    

sous windows ?


---------------
Töp of the plöp
Reply

Marsh Posté le 25-10-2006 à 14:55:06    

si sous windows, gdi+


---------------
Töp of the plöp
Reply

Marsh Posté le 25-10-2006 à 14:57:42    

sous unix

Reply

Marsh Posté le 25-10-2006 à 15:01:01    

tcl/tk ?


---------------
Töp of the plöp
Reply

Marsh Posté le 25-10-2006 à 15:01:17    

Sinon opengl en fait


---------------
Töp of the plöp
Reply

Marsh Posté le 25-10-2006 à 15:12:42    

ok opengl semble etre la bonne solution

Reply

Marsh Posté le 26-10-2006 à 02:34:41    

Dernièrement je suis tombé sur cette horreur, http://cimg.sourceforge.net/ alors si tu te sens l'ame d'un cascadeur...
 
J'ai faillit envoyer un mail d'insulte à l'auteur, mais je suis partagé entre la consternation et une certaine apréciation pour le coté bidouille à la lecture du source, http://cimg.cvs.sourceforge.net/ci [...] iew=markup

Message cité 1 fois
Message édité par tbp le 26-10-2006 à 02:35:30
Reply

Marsh Posté le 26-10-2006 à 09:31:21    

En effet, dis-moi tu es tombé sur une perle ! :D

Reply

Marsh Posté le 26-10-2006 à 13:01:37    

tbp a écrit :

Dernièrement je suis tombé sur cette horreur, http://cimg.sourceforge.net/ alors si tu te sens l'ame d'un cascadeur...
 
J'ai faillit envoyer un mail d'insulte à l'auteur, mais je suis partagé entre la consternation et une certaine apréciation pour le coté bidouille à la lecture du source, http://cimg.cvs.sourceforge.net/ci [...] iew=markup


 
Moi je crois surtout que tu dois pas bien maitriser le C++ pour dire des choses pareilles.
J'utilise régulièrement CImg et c'est plutôt bien foutu au niveau design, contrairement à ce que tu peux dire.
Je crois pas que l'auteur (qui est chercheur au CNRS, excuse moi du peu) n'ait pas réfléchi un minimum avant de pondre sa bibliothèque ! Et alors que dire de ceux qui l'utilisent : http://cimg.sourceforge.net/links.shtml
Moi je la conseillerais carrément à quelqu'un qui voudrait faire un petit jeu multi-plateforme sans se prendre le chou avec
une grosse bibliothèque.
 
-- Tournevissette --

Reply

Marsh Posté le 26-10-2006 à 13:01:37   

Reply

Marsh Posté le 26-10-2006 à 16:34:15    

J'ai du mal à voir le rapport entre la qualité du biniou et le fait que celà soit produit par qqu'un du CNRS mais c'est certainement due à mon manque de maitrise du C++.
 
De plus je n'ai dit mot du design, j'ai évoqué l'implementation pitoresque (et la tendance à l'embonpoint).

Reply

Marsh Posté le 26-10-2006 à 17:18:04    

Je soutiens tbp.
 
Peut être que c'est un librairie qui fonctionne bien avec de belles performance mais quand tu découvres ce style de chose (et qui n'est pas une simple anecdote dans le code) :

Code :
  1. 535 #define cimg_map3x3x3(img,x,y,z,v,I) cimg_3mapYZ(img,y,z) \
  2.   536        for (int _n##x=1, _p##x=(int)((I##cpp=I##ppp=(img)(0,_p##y,_p##z,v)), \
  3.   537                                      (I##ccp=I##pcp=(img)(0,    y,_p##z,v)), \
  4.   538                                      (I##cnp=I##pnp=(img)(0,_n##y,_p##z,v)), \
  5.   539                                      (I##cpc=I##ppc=(img)(0,_p##y,    z,v)), \
  6.   540                                      (I##ccc=I##pcc=(img)(0,    y,    z,v)), \
  7.   541                                      (I##cnc=I##pnc=(img)(0,_n##y,    z,v)), \
  8.   542                                      (I##cpn=I##ppn=(img)(0,_p##y,_n##z,v)), \
  9.   543                                      (I##ccn=I##pcn=(img)(0,    y,_n##z,v)), \
  10.   544                                      (I##cnn=I##pnn=(img)(0,_n##y,_n##z,v))),\
  11.   545                                      x=_p##x=0; \
  12.   546             (_n##x<(int)((img).width) && ((I##npp=(img)(_n##x,_p##y,_p##z,v)), \
  13.   547                                           (I##ncp=(img)(_n##x,    y,_p##z,v)), \
  14.   548                                           (I##nnp=(img)(_n##x,_n##y,_p##z,v)), \
  15.   549                                           (I##npc=(img)(_n##x,_p##y,    z,v)), \
  16.   550                                           (I##ncc=(img)(_n##x,    y,    z,v)), \
  17.   551                                           (I##nnc=(img)(_n##x,_n##y,    z,v)), \
  18.   552                                           (I##npn=(img)(_n##x,_p##y,_n##z,v)), \
  19.   553                                           (I##ncn=(img)(_n##x,    y,_n##z,v)), \
  20.   554                                           (I##nnn=(img)(_n##x,_n##y,_n##z,v)), \
  21.   555                                           1)) || x==--_n##x; \
  22.   556               I##ppp=I##cpp, I##pcp=I##ccp, I##pnp=I##cnp, \
  23.   557               I##cpp=I##npp, I##ccp=I##ncp, I##cnp=I##nnp, \
  24.   558               I##ppc=I##cpc, I##pcc=I##ccc, I##pnc=I##cnc, \
  25.   559               I##cpc=I##npc, I##ccc=I##ncc, I##cnc=I##nnc, \
  26.   560               I##ppn=I##cpn, I##pcn=I##ccn, I##pnn=I##cnn, \
  27.   561               I##cpn=I##npn, I##ccn=I##ncn, I##cnn=I##nnn, \
  28.   562               _p##x=x++, _n##x++ )


Tu te dis peux être que quelqu'un de nouveau qui voudrait comprendre les sources aurait un peu plus de mal qu'avec du code un peu plus "standard". Je pense que c'est ce qu'à voulu dire tbp...

Reply

Marsh Posté le 26-10-2006 à 17:34:15    

bb138 a écrit :

Je soutiens tbp.
 
Peut être que c'est un librairie qui fonctionne bien avec de belles performance mais quand tu découvres ce style de chose (et qui n'est pas une simple anecdote dans le code) :  
...
Tu te dis peux être que quelqu'un de nouveau qui voudrait comprendre les sources aurait un peu plus de mal qu'avec du code un peu plus "standard". Je pense que c'est ce qu'à voulu dire tbp...


 
La question est : est-ce que le code d'une bibliothèque C++ doit vraiment être comprise par son utilisateur, ou doit juste fonctionner et faire ce qu'on lui demande ? Peut-être que le code de CImg est imbittable, mais pour l'utilisateur c'est au contraire très confortable, par exemple si tu regardes les exemples d'utilisation de la lib :
 
http://cimg.cvs.sourceforge.net/ci [...] iew=markup
 
Au final, c'est ce genre de chose que le programmeur écrit, on s'en tape de savoir si y a des macros sales dans le code de la lib, si c'est juste utilisé en interne.
 
-- Tournevissette --

Reply

Marsh Posté le 26-10-2006 à 17:46:45    

tournevissette a écrit :

La question est : est-ce que le code d'une bibliothèque C++ doit vraiment être comprise par son utilisateur, ou doit juste fonctionner et faire ce qu'on lui demande ?


 
Oui, mais ici c'est un forum de code, c'est normal que ça interesse les participant [:dawa]


---------------
Töp of the plöp
Reply

Marsh Posté le 26-10-2006 à 17:47:04    

Ben, pour un projet open source, ça reste important pour l'extensibilité et maintenabilité du truc quand même, non?
Là, je suis pas sûr qu'il y ait beaucoup d'autres dev que celui/ceux de départs qui y touche (étrange mélange C/C++, lourdeur du fichier donné en exemple, j'ai pas vu les autres ;) )... :/


Message édité par IrmatDen le 26-10-2006 à 17:47:33
Reply

Marsh Posté le 27-10-2006 à 18:44:09    

Personnellement j'aime bien:
SDL -  pour le minimalisme (récupérer une zone de pixels et "taper" dedans comme on veut et rapidement)
GD - pour la manip d'images (eg. exécutables server-side rapides pour un serveur internet)
 
Par contre imho, ça manque toujours de canal alpha (transparence un peu plus chiadée que du on/off)...
Et faut pas trop espérer des librairies en question pour l'ihm: tout à la paluche... :)

Reply

Marsh Posté le 27-10-2006 à 19:01:48    

fltk... que j'utilise sous linux.
 
Il y a plein de tutos tres bien fait et la prise en main est très rapide.
Sans oublier un accès facile à opengl depuis l'api
 

Reply

Marsh Posté le 27-10-2006 à 19:02:01    

Qu'est ce qui manque de canal alpha??
Et les libs IHM, tout dépend lesquelles... (mais si je parle de Qt4.2 ça risque de partir en troll ;) )

Reply

Marsh Posté le 28-10-2006 à 08:04:15    

Sinon il ya a antigrain qui est pas mal pour la 2d : facile a prendre en main, bon rendu, bonnes performances, dispo sous windows et linux.

Reply

Sujets relatifs:

Leave a Replay

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