Mapping 3D avec OpenGL

Fermé
Utilisateur anonyme - 1 avril 2010 à 21:38
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 9 avril 2010 à 08:15
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 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
2 avril 2010 à 08:24
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
2 avril 2010 à 17:35
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 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
4 avril 2010 à 11:03
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
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 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
9 avril 2010 à 08:15
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