Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1112 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C] opengl et reseau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] opengl et reseau

n°399667
Helter-ske​lter
Posté le 19-05-2003 à 15:00:52  profilanswer
 

bonjour,
 
j ai une "moteur 3D" qui gere un niveau qui doit evoluer en fonctions d infos recus par le reseau (c un jeu en reseau)
j utilise glut pour creer mes fenetres.
glut utilise glutMainLoop(); pour boucler sur les evenenement.
 
or j ai besoin de boucler sur une socket pour recevoir les infos et afficher le nivo.  
(je recoit un char * symbolysant le nivo, je le parse et l affiche en 3D, puis je renv les evenements de deplacement au server ki les traites et me renvoi un char * et ainsi de suite)
 
Le pb est donc ke glutMainLoop dont g besoin pour l affichage m empeche de faire ma bloucle reseau  :(  
 
Y a t-il une solution ?
(fonction ki coupe glutmainloop dans certains cas, changement de la gestion de glut vers SDL ou autre, je suis ouvert a tout :D)


Message édité par Helter-skelter le 19-05-2003 à 15:04:15
mood
Publicité
Posté le 19-05-2003 à 15:00:52  profilanswer
 

n°399947
chrisbk
-
Posté le 19-05-2003 à 15:25:01  profilanswer
 

ben un thread qui lit dans ta socket, parse le souc et previent ta gluMainLoop qu'ya de nouvelles donnees ?

n°399961
Helter-ske​lter
Posté le 19-05-2003 à 15:29:52  profilanswer
 

chrisbk a écrit :

ben un thread qui lit dans ta socket, parse le souc et previent ta gluMainLoop qu'ya de nouvelles donnees ?


je doit faire le proj sous netbsd, et sous netbsd les thread c pas trop ca :-\ (desole, j aurrai du le presiser)

n°399971
harrysauce
Miaaaooou!
Posté le 19-05-2003 à 15:33:30  profilanswer
 

Helter-Skelter a écrit :


je doit faire le proj sous netbsd, et sous netbsd les thread c pas trop ca :-\ (desole, j aurrai du le presiser)

un processus alors....

n°400008
Helter-ske​lter
Posté le 19-05-2003 à 15:43:26  profilanswer
 

harrysauce a écrit :

un processus alors....


g deja un fork plus haut car le server et le client doivent etres dans le meme executable (c l un ou l autre en fct des parametres de lancement de l executable), ca va commence a etre goret si j en rajoutte un (deja ke c limite...)

n°400018
harrysauce
Miaaaooou!
Posté le 19-05-2003 à 15:46:03  profilanswer
 

Helter-Skelter a écrit :


g deja un fork plus haut car le server et le client doivent etres dans le meme executable (c l un ou l autre en fct des parametres de lancement de l executable), ca va commence a etre goret si j en rajoutte un (deja ke c limite...)

bof, jamais 2 sans 3 [:ddr555]

n°400043
Helter-ske​lter
Posté le 19-05-2003 à 15:55:47  profilanswer
 

harrysauce a écrit :

bof, jamais 2 sans 3 [:ddr555]


 :lol:  
ca sera mon exuse a la correction  :D

n°400051
skeye
Posté le 19-05-2003 à 15:58:52  profilanswer
 

Helter-Skelter a écrit :

bonjour,
 
j ai une "moteur 3D" qui gere un niveau qui doit evoluer en fonctions d infos recus par le reseau (c un jeu en reseau)
j utilise glut pour creer mes fenetres.
glut utilise glutMainLoop(); pour boucler sur les evenenement.
 
or j ai besoin de boucler sur une socket pour recevoir les infos et afficher le nivo.  
(je recoit un char * symbolysant le nivo, je le parse et l affiche en 3D, puis je renv les evenements de deplacement au server ki les traites et me renvoi un char * et ainsi de suite)
 
Le pb est donc ke glutMainLoop dont g besoin pour l affichage m empeche de faire ma bloucle reseau  :(  
 
Y a t-il une solution ?
(fonction ki coupe glutmainloop dans certains cas, changement de la gestion de glut vers SDL ou autre, je suis ouvert a tout :D)


Tu renvoies les événements et tu récupères ton char * à parser et afficher à chaque événement?
Si c'est le cas il suffit de mettre le code réseau dans tes fonctions de gestion des événements non?

n°400078
Helter-ske​lter
Posté le 19-05-2003 à 16:08:58  profilanswer
 

skeye a écrit :


Tu renvoies les événements et tu récupères ton char * à parser et afficher à chaque événement?
Si c'est le cas il suffit de mettre le code réseau dans tes fonctions de gestion des événements non?


en fait pas vraiment.
il y a une unitee de tmp determine par le seveur et il m env les infos (le char *) com un metronome (avc un ualarm il me semble)
donc pour env les infos ca pose pas de pb de le faire au moment de l event mais pour les recevoir...

n°400086
skeye
Posté le 19-05-2003 à 16:14:30  profilanswer
 

Helter-Skelter a écrit :


en fait pas vraiment.
il y a une unitee de tmp determine par le seveur et il m env les infos (le char *) com un metronome (avc un ualarm il me semble)
donc pour env les infos ca pose pas de pb de le faire au moment de l event mais pour les recevoir...


Dans ce cas je vois pas d'autre solution que celles citées plus haut...il te faut un autre thread / process...:/

mood
Publicité
Posté le 19-05-2003 à 16:14:30  profilanswer
 

n°400097
Helter-ske​lter
Posté le 19-05-2003 à 16:21:55  profilanswer
 

skeye a écrit :


Dans ce cas je vois pas d'autre solution que celles citées plus haut...il te faut un autre thread / process...:/


Et avc SDL, y a la meme gestion des evenements que pour glut?

n°400099
skeye
Posté le 19-05-2003 à 16:24:39  profilanswer
 

Helter-Skelter a écrit :


Et avc SDL, y a la meme gestion des evenements que pour glut?


C'est pas tout à fait pareil...par contre je ne me souviens pas exactement le fonctionnement, même s'il me semble que c'est un peu plus flexible à ce niveau.

n°400106
Helter-ske​lter
Posté le 19-05-2003 à 16:28:27  profilanswer
 

je vais tenter ca, de toute facon je me sert de glut pour creer ma fenetre et gerer mes evnmt point barre, donc migrer vers du sdl ne devrai pas etre trop long. par contre je vais faire qq recherches pour savoir si ca a un interet...

n°400767
Helter-ske​lter
Posté le 20-05-2003 à 01:26:17  profilanswer
 

probleme resolu.  :)
 
je fait l init de la socket au lancement du client, je recv mon char * dans la fct de display, je le traite et l'affiche, puis je fait les envois de mouvements au serveur dans la fct d'evenements  clavier.
Et le tout boucle avc glutmainloop()  :p  
 
je dis ca paske ca pourra servir a qqn d autre (suis kan meme pas le seul imbecile a faire du glut et du rezal j espere :D ).


Message édité par Helter-skelter le 20-05-2003 à 01:27:54
n°400775
skeye
Posté le 20-05-2003 à 07:13:31  profilanswer
 

Helter-Skelter a écrit :

probleme resolu.  :)
 
je fait l init de la socket au lancement du client, je recv mon char * dans la fct de display, je le traite et l'affiche, puis je fait les envois de mouvements au serveur dans la fct d'evenements  clavier.
Et le tout boucle avc glutmainloop()  :p  
 
je dis ca paske ca pourra servir a qqn d autre (suis kan meme pas le seul imbecile a faire du glut et du rezal j espere :D ).


Ca bloque pas le raffraichissement?

n°400884
Helter-ske​lter
Posté le 20-05-2003 à 10:40:56  profilanswer
 

skeye a écrit :


Ca bloque pas le raffraichissement?


g oublie de precise ke g mis un select pour que cette operation soit non blocante.
il update ainsi les donnees tout les X tmp de facon transparente pour l affichage :D


Message édité par Helter-skelter le 20-05-2003 à 10:41:27

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C] opengl et reseau

 

Sujets relatifs
[C++] WIFI, récupérer la qualité du réseau ! ( API windows?) (prj BTS)[openGL] j'ai acheté 3D Game Engine de Dave Eberly et je comprend rien
[C/Opengl] coordonnés et objets ?où trouver une doc qui détaille l'utilisation des fonctions opengl ?
[opengl] est-on obligé d'utiliser gluBuidl2DMipmap pour le mipmapping?[opengl]une erreur a la compil, ai-je oublié un fichier d'en-tête ?
[opengl]pour le mipmapping , GL_TEXTURE_BASE_LEVEL est-il obligatoire?[OpenGL] importer des fichiers 3d studio max
[Reseau] J'aurai besoin de quelqu'un de bon sur la theorie...[openGL] ou trouver les Includes pour le 1.4 ou 2.0
Plus de sujets relatifs à : [C] opengl et reseau


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR