Mélanger OpenGL et Glut

Signaler
Messages postés
122
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
22 juillet 2006
-
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
-
Salut

J'aimerai me servir des fonctions d'entrée clavier/souris proposées par Glut, mais j'ai vu que Glut s'initialise avec une fonction main façon C.

int main( int argc, char *argv[ ], char *envp[ ] )

{
glutInit(&argc, argv);

etc.............
}

Le problème c'est que je programme en OpenGL qui s'initialise au travers d'une structure Windows dont la fonction main est différente:

int WINAPI Winmain (HINSTANCE, hInstance, etc...........)

Y a t-il moyen d'initialiser Glut en gardant la structure Windows ?
Si oui, ou est ce qu'on doit placer la fonction glutMainLoop()?

Merci!

Tintin 72

16 réponses

Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3
C'est quoi le but de ton truc?
Sinon y'aurait possibilité d'utiliser WinMain() avec GLUT mais ça ne servirait qu'à casser la portabilité...

Patience et longueur de temps font plus que force ni que rage....
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
moi je suis plus pour win32 et la perf que pour glut et la portabilité
Messages postés
688
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2005

voila je te consielle de proguer avec la SDL QUI est plus portable est plus facile est en plus rapide meme le quike 3 arena a ete creer aevc
Xarier@hotmail.com
xarier@fr.st
www.xarier.fr.st
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
"le quike 3 arena a ete creer aevc" ABSOLUMENT PAS

tu pense bien qu'on fera jamais un jeu digne de se nom, et encore moin john carmack avec la sdl!

ca a beau etre rapide, ca pourrra jamais atteindre le 1/10e de la cheville de l'api hote

quake 3 à juste ete porté sous linux avec la sdl...
Messages postés
688
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2005

oui c ce que je voulait dire mais j'ai pas compris le
ca a beau etre rapide, ca pourrra jamais atteindre le 1/10e de la cheville de l'api hote

Xarier@hotmail.com
xarier@fr.st
www.xarier.fr.st
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
ca ve dir que la sdl reste une surcouche de win32 sous windows par exemple
Messages postés
688
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2005

donc moi rapide ou koi
Xarier@hotmail.com
xarier@fr.st
www.xarier.fr.st
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
oui, surtout a cause du controle restreint qu'on a du systeme qui reduit les optimisation possible et autre

plus tu est bas niveau, mieux c'est, et win32 c'est le plus bas niveau de prog sous windows
Messages postés
688
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2005

donc pour realiser un jeu 100/100 portable il faut connaitre chaque plate form Ok donc ke vais abondoner la sdl pour la win32 .
mais il a un prob j'utilise devil pour la gestion des texture alors la tu pense koi est ce que je le change aussi xontre une autre library au c pas la pene

Xarier@hotmail.com
xarier@fr.st
www.xarier.fr.st
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3
Franchement, est-ce que qq1 d'entre vous a vu une différence de performance entre une fenêtre SDL et une fenêtre Win32?
djl, si tu veux l'affirmer fais un benchmark (ça m'intéresse aussi de savoir le résultat).
Mais étant donné que la SDL reste relativement proche de l'API Win32 (la boucle des évènements est visible...), et que les seules différences de perfs (théoriquement) entre une fenêtre SDL et une fenêtre Win32 ne peuvent concerner que la création de la fenêtre (on s'en fout), et l'input clavier et souris, personnellement je choisirais SDL.

Sinon pour DevIL c'est une excellente librairie MAIS personne n'arrive à l'utiliser sous Dev-C++.
Sinon, y'a la possibilité d'utiliser la librairie SDL_Image avec SDL (un nouveau tuto sur son utilisation couplée avec OpenGL vient d'être posté sur le site Prografix), ou sinon j'ai codé une classe TGALoader très simple d'utilisation (un peu de pub ne fait pas de mal :))

Pour finir, si l'on utilise la SDL, on peut aussi utiliser d'autres libs, comme SDL_Net pour le réseau ou SDL_Image pour les images (je sais pas si on peut utiliser SDL_ttf avec OpenGL par contre), donc je suis plutôt pro-SDL.

Patience et longueur de temps font plus que force ni que rage....
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
moi je suis pour faire dans le plus ba niveau, c'est vrai que je peu pas dire la dif de perf mais je sais au moins qu'elle existe

peut etre que sur glinfrench ils seront repondre plus precisement

sinon sur les forum anglophone specialise et les sites nehe, flipcode, gamedev... ils utilisent tous win32, je suppose que c'est pas pour rien, tu crois pas?

pour devil, ben ca prend pas mal de ressource memoire quand meme?? (j'arrive a 20meg alors que si je charge les meme texture en bmp avec la glaux ==> 12meg ??)
Messages postés
122
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
22 juillet 2006

Salut

Après ce débat fort instructif :-) est ce que quelqu'un peut
me dire où trouver un exemple de code pour gérer l'entrée du clavier et de la souris en Win32 ou SDL ?

Merci

Tintin 72
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3
djl >> Enfin c'est toi qui vois, personnellement je n'ai jamais eu de problèmes de performances avec GLUT ou SDL (surtout si on utilise les modes plein écran...), et je code toujours (sauf cas exceptionnel ^^) avec du portable ^^
Tiens d'ailleurs je sais pas si on peut gérer le joystick avec l'API Win32 sans utiliser DirectInput; avec SDL je suis sûr qu'on peut par contre.

"sinon sur les forum anglophone specialise et les sites nehe, flipcode, gamedev... ils utilisent tous win32, je suppose que c'est pas pour rien, tu crois pas?" -> déjà, c'est pas parce que certains font de telle façon qu'il faut que l'on fasse de la même façon. C'est sûr, John Carmack va pas s'amuser à utiliser GLUT lol. Mais de toutes façons, si tu regardes bien tous les tuts de GameTutorials et beaucoup de NeHe (donc de GameDev) sont portés sous SDL. Et puis à mon avis ils ne codent pas avec le soucis de la portabilité.

Enfin bon moi je dis ça, c'est mon avis mais tu fais ce que tu veux ;)

tintin72 >> http://www.programmationworld.com/site/Cours.asp?Action=cours&Numero=38

Regarde "SDL et la 3D" pour voir comment utiliser SDL + OpenGL.

Patience et longueur de temps font plus que force ni que rage....
Messages postés
688
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2005

apres avoir vue le cours original sur la sdl il avait une line qui disait :

que la sdl est une lib de bas niveau car il utilise pour chaque plateform c poiunt fort ex :
elle utilise pour win les api win32 de bas level et oui alors c la meme chose mais en plus c plus simple et portable :)
alller see you je te la consielle vivement
Xarier@hotmail.com
xarier@fr.st
www.xarier.fr.st
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
arrete t en train de me convertir !

ta des exemple de soft connus codé avec la sdl ? (j'ai entendu parler de quelques emulateurs...)
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3
Ouais t'as les émulateurs (Bochs...), et puis la plupart des portages de jeux : ils ont dressé une liste sur http://www.libsdl.org

Patience et longueur de temps font plus que force ni que rage....