Mapping 3D avec OpenGL

Utilisateur anonyme -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je suis en train d'apprendre OpenGL, dans le but de réaliser des jeux 3D. Mais je me pose une question, où je ne trouve nul part la réponse...

Pour des jeux comme crysis, ou call of duty, toute la carte ne se recharge pas à chaque milliseconde, ce serait trop long... Elle est donc chargée une fois pour toute.

C'est ce que j'aimerais faire. Premièrement, pouvez vous me dire comment créer de telles cartes ? Je suppose que ce n'est pas avec les GL_TRIANGLES, ou polygones... !

Et ensuite, comment intégrer celles ci à mon envirronement OpenGL ? Que je puisse me balader dans cette map etc.. ?

Merci beaucoup, j'espère avoir été clair...
A voir également:

5 réponses

Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Salut.
OpenGL, c'est la base, une espèce de primitive, bien souvent les jeux sont crées avec des outils plus puissants pour les graphismes, éventuellement interfacés avec OpenGL.
Que veu tu dire par charger ? ta carte est sur un fichier, tu la charges en mémoire et tu l'affiche, tu n'es pas obliger de recharger depuis le fichier à chaque fois.
Suit un tutoriel OpenGL, je pense que tu y trouvera beaucoup de réponse, en particulier sur les fonction de groupement.
0
Utilisateur anonyme
 
En fait, j'aimerais savoir si je dois créer tous mes batiments avec du code openGL, c'est a dire des polygones et autres... et charger ces fichiers-sources lorsque je charge une carte, ou alors créer mes cartes grace à un éditeur spécifique, comme blender, et ensuite les intégrer dans ma fenetre...

Et après, pour gérer les collisions, cela sort du domaine openGL non ? Est-ce qu'il y a moyen de connaitre les coordonées de mes batiments par rapport au point haut-gauche de la carte par exemple ?

Sinon pour un tuto je suis en train de suivre celui de NeHe, qui est très bien.

Merci
0
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
tu peux passer par un logiciel externe. à l'époque où je m'y était intéressé, j'avais trouvé un tuto expliquant comment faire. Tu fait ton décors 3D, tu l'enregistre sous un certain format, et ensuite à l'aide de bibliothèques tu l'ouvre sous ton programme et le passe à OpenGL pour l'affichage. (j'avais taper OpenGL + VDML je crois pour trouver)

Pour la collision, à ma connaissance, ce n'est pas OpenGL qui s'en charge, ce n'est pas son but.
0
Utilisateur anonyme
 
Ok, merci pour ta réponse, mais il n'y a rien de mal à tout créer avec OpenGL non ?
Sinon, j'ai une autre question : j'ai plusieurs threads, et dans l'un d'eux, une boucle infinie. J'utilise donc dans celui-ci la fonction sleep() de unistd.h. Mais est-ce qu'elle fait "dormir" que le thread, ou tout mon programme ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Bien sur, tu peux tout faire en OpenGL, il n'y a rien de mal, mais ce n'est pas le plus efficace.
Il me semble que tout ce qui se passe dans un thread est propre au thread, à condition qu'il soit bien lancé en exécution partagé.
0