Précédent   Forum du club des développeurs et IT Pro > Applications > Développement 2D, 3D et Jeux > API graphiques
API graphiques Forum d'entraide sur les API et bibliothèques graphiques 2D et 3D
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 02/10/2011, 18h50   #1
dream25
Invité de passage
 
risselu jf
Inscription : juin 2010
Messages : 20
Détails du profil
Informations personnelles :
Nom : risselu jf

Informations forums :
Inscription : juin 2010
Messages : 20
Points : 3
Points : 3
Par défaut GLUT: Séparer boucle d'affichage et boucle de jeu

Bonjour,
J'essaie de développer un petit jeu avec le combo opengl/glut et j'aimerais séparer ma boucle d'affichage et ma boucle de jeu. Le problème c'est que une fois que je passe dans la fonction glutmainloop() j'ai l'impression que ça revient à passer dans la fonction d'affichage pour toujours. Du coup je ne sais pas où placer ma boucle de jeu ailleurs que dans la fonction display ou idle de glut. Et j'ai aussi remarqué que ce n'est pas parce que je mets le process de ma boucle de jeu dans le idle qu'elle est dissociée du display. Est-ce possible de faire cette distinction avec glut ou bien dois-je utiliser sdl qui me semble plus adapté pour faire ça (je peux me tromper bien sûr) ?
dream25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2011, 19h31   #2
Kannagi
Membre émérite
 
Avatar de Kannagi
 
Homme
Inscription : mai 2010
Messages : 474
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mai 2010
Messages : 474
Points : 878
Points : 878
Envoyer un message via MSN à Kannagi
c'est possible avec freeglut je ne vois pas le problème .
Voici la doc http://freeglut.sourceforge.net/docs/api.php

A la place de tu le remplace par
Kannagi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2011, 21h04   #3
dream25
Invité de passage
 
risselu jf
Inscription : juin 2010
Messages : 20
Détails du profil
Informations personnelles :
Nom : risselu jf

Informations forums :
Inscription : juin 2010
Messages : 20
Points : 3
Points : 3
Tu parles de freeglut ? Moi j'utilise glut, apparement freeglut ça l'air d'être une lib améliorée de glut ? Dans mon glut.h je n'ai pas cette fonction dont tu parles. Je suis bloqué si je n'ai pas ce genre de fonction ?
dream25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2011, 21h32   #4
Kannagi
Membre émérite
 
Avatar de Kannagi
 
Homme
Inscription : mai 2010
Messages : 474
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mai 2010
Messages : 474
Points : 878
Points : 878
Envoyer un message via MSN à Kannagi
Citation:
Envoyé par dream25 Voir le message
Tu parles de freeglut ? Moi j'utilise glut, apparement freeglut ça l'air d'être une lib améliorée de glut ? Dans mon glut.h je n'ai pas cette fonction dont tu parles. Je suis bloqué si je n'ai pas ce genre de fonction ?
Oui je parle de freeglut,c'est une version améliorer de glut.
Cette fonction est spécifique a freeglut :
Citation:
5.2 glutMainLoopEvent

The glutMainLoopEvent function processes a single iteration in the freeglut event loop.

Usage

void glutMainLoopEvent ( void );

Description

The glutMainLoopEvent function causes freeglut to process one iteration's worth of events in its event loop. This allows the application to control its own event loop and still use the freeglut windowing system.

Changes From GLUT

GLUT does not include this function.
Personnellement je te conseil freeglut qui est compatible avec glut(qui devient obsolète) est possède plusieurs amélioration intéressante.
Kannagi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2011, 21h35   #5
dream25
Invité de passage
 
risselu jf
Inscription : juin 2010
Messages : 20
Détails du profil
Informations personnelles :
Nom : risselu jf

Informations forums :
Inscription : juin 2010
Messages : 20
Points : 3
Points : 3
Tu connais sdl ? qu'en penses-tu par rapport à freeglut ? merci de ton aide
dream25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2011, 21h39   #6
Kannagi
Membre émérite
 
Avatar de Kannagi
 
Homme
Inscription : mai 2010
Messages : 474
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mai 2010
Messages : 474
Points : 878
Points : 878
Envoyer un message via MSN à Kannagi
Je la connais et je l'utilise , oui c'est une très bonne lib , si c'est pour faire du 2D je te la conseille par contre la SDL est plus lente que opengl,mais cela ce voit surtout a partir d'une certaine résolution (plus de 680x480).

Sinon tu peux utiliser un mix SDL/opengl c'est possible aussi =)

Comparer a freeglut , ben c'est quasi pareil niveau fenêtrage et événement par contre , freeglut ne gère pas le son ou les police écriture mais y a des lib alternative.
Kannagi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2011, 21h50   #7
LeGreg
Membre Expert
 
Programmeur
Inscription : août 2002
Messages : 1 048
Détails du profil
Informations personnelles :
Localisation : Etats-Unis

Informations professionnelles :
Activité : Programmeur

Informations forums :
Inscription : août 2002
Messages : 1 048
Points : 1 578
Points : 1 578
Envoyer un message via ICQ à LeGreg
Citation:
Envoyé par dream25 Voir le message
Bonjour,
j'essai de développer un petit jeu avec le combo opengl/glut et j'aimerais séparer ma boucle d'affichage et ma boucle de jeu.
La dissociation c'est toi qui la fait (comme dans tout programme d'ailleurs pas seulement glut).

Si j'ai quelque chose à afficher -> je le fais.
Si j'ai quelque chose à processer -> je le fais.

Le truc c'est de ne pas faire trop de processing hors affichage pour que l'affichage soit fluide mais sinon c'est toi qui décide quand processer l'un ou l'autre.
__________________

Mon site web | Mon blog | Mes photos | Groupe USA
> BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
> presse la touche caps lock, stp
> OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA
LeGreg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2011, 22h03   #8
Kannagi
Membre émérite
 
Avatar de Kannagi
 
Homme
Inscription : mai 2010
Messages : 474
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mai 2010
Messages : 474
Points : 878
Points : 878
Envoyer un message via MSN à Kannagi
Citation:
Envoyé par LeGreg Voir le message
La dissociation c'est toi qui la fait (comme dans tout programme d'ailleurs pas seulement glut).

Si j'ai quelque chose à afficher -> je le fais.
Si j'ai quelque chose à processer -> je le fais.

Le truc c'est de ne pas faire trop de processing hors affichage pour que l'affichage soit fluide mais sinon c'est toi qui décide quand processer l'un ou l'autre.
Non mais son problème est un peu plus différent (lire jusqu'au bout).
Avec glut impossible de faire un code ailleurs que celui de affichage (ce qui est pas pratique je trouve)c'est pas pour rien que freeglut propose une fonction qui règle ce plem ,on plus avec glutmainloop c'est pas possible de gérer le fps.
Kannagi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 00h02   #9
dream25
Invité de passage
 
risselu jf
Inscription : juin 2010
Messages : 20
Détails du profil
Informations personnelles :
Nom : risselu jf

Informations forums :
Inscription : juin 2010
Messages : 20
Points : 3
Points : 3
D'accord merci, je marque ce topic en résolu et je vais utiliser freeglut parce que je fais de la 3d full screen j'imagine que ce sera un petit plus rapide que sdl.
dream25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 22h28.


 
 
 
 
Partenaires

Hébergement Web