begin process at 2008 05 16 10:22:09
1 173 261 membres
101 nouveaux aujourd'hui
13 970 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

XTENGINE - MOTEUR 3D BASÉ SUR OPENGL, GLEW ET LA SDL


Information sur la source

Catégorie :OpenGL Classé sous : opengl, moteur, sdl, 3d, shader Niveau : Initié Date de création : 19/06/2007 Date de mise à jour : 20/06/2007 12:01:53 Vu / téléchargé: 6 458 / 545

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (19)
Ajouter un commentaire et/ou une note

Description

Voila, c'est un moteur 3d auquel je ne toucherais plus car lorsque je l'ai commencé je ne maitrisais pas
tout les concepts du C++ (namespace, template etc), et je n'avais jamais regardé la structure des autres
moteurs 3d. Lorsque j'ai testé Irrlicht il n'y a pas longtemps, je me suis rendu compte que mon moteur
n'irais nulle part sans une restructuration complete etc.
Bref je l'arrete ici, il sera peut etre continué pour le projet de jeux video sur lequel j'étais :
http://embya.free.fr

Je vous en fais cadeau meme si c'est pas beau du tout :P

L'archive avec les sources, et les exemples sont téléchargeable ici :
http://lxt95l.free.fr/xtEngine/
(La doc est obselete :/)


Les caractéristiques du moteur actuel :

-Gestion des erreurs (log).
-Gestion des vecteurs 2d,3d et 4d.
-Collision a base de boîte.
-Gestion des objets .obj (static) et md2 (animée).
-Gestion des entitées des objets .obj et .md2.
-Gestion de caméras de type FPS,RPG et FreeFly.
-Gestion du brouillard.
-Chargement d'image tout type (jpg,tga,gif,bmp etc).
-Gestion de base des champs de textes.
-Gestion des lumieres OpenGL (shader).
-Gestion des particules pour simuler la pluie, neige, tempete de sable etc .
-Primitives 3d (cylindre,cone,sphere,plan,cube)
-Gestion des shaders GLSL.
-Gestion de skybox.
-Gestion des sprites.
-Gestion de terrains.
-Gestion du texte.
-Effet d'eau(refraction bientot reflection).
-Gestion d'une fenetre.
-Gestion des entrées sorties clavier/souris.

Le moteur est 100% portable sur les plateformes Windows,Linux,Mac.

Source

  • http://lxt95l.free.fr/xtEngine/
http://lxt95l.free.fr/xtEngine/

Conclusion

Les objets sont rendus avec des display list, le terrain n'a pas de LOD, le moteur n'a pas de scene manager, de node ou autre..

Beaucoup de probleme avec les cartes graphiques ATI.
Erreur : point flottant sous ubuntu.
Et surement plein d'autre bug :/
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • make-linux.shTélécharger ce fichier [Réservé aux membres club]44 octets
  • make-windows.shTélécharger ce fichier [Réservé aux membres club]46 octets
  •   Makefiles
    • Makefile.linuxTélécharger ce fichier [Réservé aux membres club]2 501 octets
    • Makefile.windowsTélécharger ce fichier [Réservé aux membres club]2 330 octets
  •   src
    • xtEngine.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 750 octets
    • xtEngine.h~Télécharger ce fichier [Réservé aux membres club]1 789 octets
    •   XT2D
      • 2d.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 174 octets
      • 2d.cpp~Télécharger ce fichier [Réservé aux membres club]1 174 octets
      • 2d.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier447 octets
      • 2d.h~Télécharger ce fichier [Réservé aux membres club]444 octets
      • img.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier5 276 octets
      • img.cpp~Télécharger ce fichier [Réservé aux membres club]5 318 octets
      • img.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier625 octets
      • img.h~Télécharger ce fichier [Réservé aux membres club]619 octets
      • input.cpp~Télécharger ce fichier [Réservé aux membres club]6 673 octets
      • input.h~Télécharger ce fichier [Réservé aux membres club]892 octets
      • sprite.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 579 octets
      • sprite.cpp~Télécharger ce fichier [Réservé aux membres club]4 579 octets
      • sprite.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier917 octets
      • sprite.h~Télécharger ce fichier [Réservé aux membres club]938 octets
      • texte.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier7 174 octets
      • texte.cpp~Télécharger ce fichier [Réservé aux membres club]7 171 octets
      • texte.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 066 octets
      • texte.h~Télécharger ce fichier [Réservé aux membres club]1 068 octets
    •   XT3D
      • base.cpp~Télécharger ce fichier [Réservé aux membres club]950 octets
      • base.h~Télécharger ce fichier [Réservé aux membres club]429 octets
      • base3D.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 930 octets
      • base3D.cpp~Télécharger ce fichier [Réservé aux membres club]1 932 octets
      • base3D.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier533 octets
      • base3D.h~Télécharger ce fichier [Réservé aux membres club]506 octets
      • fbo.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 951 octets
      • fbo.cpp~Télécharger ce fichier [Réservé aux membres club]4 958 octets
      • fbo.cpp~~Télécharger ce fichier [Réservé aux membres club]4 841 octets
      • fbo.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier994 octets
      • fbo.h~Télécharger ce fichier [Réservé aux membres club]994 octets
      • fog.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 921 octets
      • fog.cpp~Télécharger ce fichier [Réservé aux membres club]2 921 octets
      • fog.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier667 octets
      • fog.h~Télécharger ce fichier [Réservé aux membres club]666 octets
      • glow.cpp~Télécharger ce fichier [Réservé aux membres club]1 626 octets
      • light.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier6 310 octets
      • light.cpp~Télécharger ce fichier [Réservé aux membres club]6 304 octets
      • light.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier903 octets
      • light.h~Télécharger ce fichier [Réservé aux membres club]899 octets
      • md2.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier9 508 octets
      • md2.cpp~Télécharger ce fichier [Réservé aux membres club]9 320 octets
      • md2.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier3 315 octets
      • md2.h~Télécharger ce fichier [Réservé aux membres club]3 388 octets
      • ModelMgr.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier6 293 octets
      • ModelMgr.cpp~Télécharger ce fichier [Réservé aux membres club]6 294 octets
      • ModelMgr.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 511 octets
      • ModelMgr.h~Télécharger ce fichier [Réservé aux membres club]1 524 octets
      • obj.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier9 105 octets
      • obj.cpp~Télécharger ce fichier [Réservé aux membres club]7 894 octets
      • obj.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 118 octets
      • obj.h~Télécharger ce fichier [Réservé aux membres club]1 020 octets
      • particle.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier3 885 octets
      • particle.cpp~Télécharger ce fichier [Réservé aux membres club]3 965 octets
      • particle.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier627 octets
      • particle.h~Télécharger ce fichier [Réservé aux membres club]649 octets
      • particles.cpp~Télécharger ce fichier [Réservé aux membres club]6 922 octets
      • particles.h~Télécharger ce fichier [Réservé aux membres club]1 306 octets
      • primitives.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier3 634 octets
      • primitives.cpp~Télécharger ce fichier [Réservé aux membres club]3 634 octets
      • primitives.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier602 octets
      • primitives.h~Télécharger ce fichier [Réservé aux membres club]600 octets
      • shader.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier6 885 octets
      • shader.cpp~Télécharger ce fichier [Réservé aux membres club]6 885 octets
      • shader.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 526 octets
      • shader.h~Télécharger ce fichier [Réservé aux membres club]1 526 octets
      • sky.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier8 057 octets
      • sky.cpp~Télécharger ce fichier [Réservé aux membres club]8 057 octets
      • sky.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 051 octets
      • sky.h~Télécharger ce fichier [Réservé aux membres club]1 053 octets
      • terrain.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier6 309 octets
      • terrain.cpp~Télécharger ce fichier [Réservé aux membres club]6 309 octets
      • terrain.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 256 octets
      • terrain.h~Télécharger ce fichier [Réservé aux membres club]1 284 octets
      • water.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier9 310 octets
      • water.cpp~Télécharger ce fichier [Réservé aux membres club]9 305 octets
      • water.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 209 octets
      • water.h~Télécharger ce fichier [Réservé aux membres club]1 204 octets
    •   XTBase
    •   XTInput
      • input.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 629 octets
      • input.cpp~Télécharger ce fichier [Réservé aux membres club]2 554 octets
      • input.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier580 octets
      • input.h~Télécharger ce fichier [Réservé aux membres club]581 octets
    •   XTMaths
      • array2d.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 606 octets
      • array2d.cpp~Télécharger ce fichier [Réservé aux membres club]1 605 octets
      • array2d.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier628 octets
      • array2d.h~Télécharger ce fichier [Réservé aux membres club]628 octets
      • camera.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier30 803 octets
      • camera.cpp~Télécharger ce fichier [Réservé aux membres club]30 803 octets
      • camera.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier3 773 octets
      • camera.h~Télécharger ce fichier [Réservé aux membres club]3 773 octets
      • dist.cpp~Télécharger ce fichier [Réservé aux membres club]233 octets
      • dist.h~Télécharger ce fichier [Réservé aux membres club]407 octets
      • frustum.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier7 973 octets
      • frustum.cpp~Télécharger ce fichier [Réservé aux membres club]7 971 octets
      • frustum.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 205 octets
      • frustum.h~Télécharger ce fichier [Réservé aux membres club]1 199 octets
      • m_pi.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier74 octets
      • m_pi.h~Télécharger ce fichier [Réservé aux membres club]73 octets
      • maths.cpp~Télécharger ce fichier [Réservé aux membres club]11 072 octets
      • maths.h~Télécharger ce fichier [Réservé aux membres club]5 510 octets
      • vec.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier10 804 octets
      • vec.cpp~Télécharger ce fichier [Réservé aux membres club]10 796 octets
      • vec.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier5 381 octets
      • vec.h~Télécharger ce fichier [Réservé aux membres club]5 381 octets
    •   XTNetwork
    •   XTPhysic
    •   XTSound
      • music.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 047 octets
      • music.cpp~Télécharger ce fichier [Réservé aux membres club]2 047 octets
      • music.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier633 octets
      • music.h~Télécharger ce fichier [Réservé aux membres club]635 octets
      • sound.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 546 octets
      • sound.cpp~Télécharger ce fichier [Réservé aux membres club]1 546 octets
      • sound.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier599 octets
      • sound.h~Télécharger ce fichier [Réservé aux membres club]601 octets

Télécharger le zip

19 juin 2007 23:53:38 :
Correction des fautes d'orthographes ^^
20 juin 2007 12:01:53 :
Ajout du zip
  • signaler à un administrateur
    Commentaire de skone007 le 20/06/2007 01:10:12

    salut,
    Dommage tu devrais continu fait pas attention au autre moteur. Si tu arrives à faire tous ça sans namespace, template, ... donc où est le problème... C'est seulement si tu arrives à implémenté une certaine technique qu'il faudrait que tu penses à apprendre d'autre concept du C++ et pas abandonné...

  • signaler à un administrateur
    Commentaire de BruNews le 20/06/2007 09:32:44 administrateur CS

    SVP, mettre ici cpp et h dans un zip et laisser le lien pour aller prendre l'ensemble.

  • signaler à un administrateur
    Commentaire de XT95 le 20/06/2007 12:02:21

    Voila =)

  • signaler à un administrateur
    Commentaire de BruNews le 20/06/2007 15:45:03 administrateur CS

    Merci.

  • signaler à un administrateur
    Commentaire de CChargy le 26/06/2007 11:42:46

    Hello,
    Moi je trouve sa absolument dommage que tu abandonne le moteur, peu être est-il mal fait, mais il a le mérite d'exister et de fonctionner...
    Tu m'obtiendra pas forcément un moteur plus rapide, pratique ou petit en utilsant les espaces de noms (namespace) ou les modèles de classe (template)...
    C'est mon avis
    Pour une fois qu'un projet va ci loin, c'est dommage de l'abandonner!
    Bref...

    Bravo pour le travail réalise0r quand même
    Colin CHARGY

  • signaler à un administrateur
    Commentaire de XT95 le 26/06/2007 12:27:01

    Salut,
    J'ai commencé ce moteur tete baissé, foncant droit devant sans meme réfléchir a une structure sur papier/uml.
    Regarde un peu la structure d'irrlicht, avec les namespaces pour les différente parti (core, gui etc), le scene manager, les nodes etc..
    Quand j'ai découvert ca, ca m'a assez décourager de continuer, surtout que le moteur marchait chez une personne sur dix :/.
    Fin voila, merci d'avoir pris le temps de regarder cette source (et merci pour le 10/10 :D).

  • signaler à un administrateur
    Commentaire de skone007 le 26/06/2007 16:09:17

    Si ça marche pas chez tout le monde c'est peut être du à ta gestion des shaders. Je dis ça parce que j'ai déjà eu ce problème... Faut toujours considéré le cas où le GPU de l'utilisateur ne les gères pas... Bref essaye de continu et regarde ce que ça donne. Au passage le moteur de Quake III est 100% en C donc pas d'espace de "nommage" encore moins de template. Et il semblerait que Quake marche...

  • signaler à un administrateur
    Commentaire de CChargy le 26/06/2007 16:15:32

    Il semblerait ...

    Non sérieusement, je suis d'accord avec Skone007...
    Avec un rendu aussi bon que celui de l'image de la source, sa vaut le coup de continuer ...

    A+
    Colin CHARGY

  • signaler à un administrateur
    Commentaire de norton le 30/06/2007 13:51:43

    Hello, je trouve que ton moteur donne un très joli rendu.
    pero, je te donne 10/10 et bonne chance pour la suite.

    Norton
    ++

  • signaler à un administrateur
    Commentaire de CChargy le 30/06/2007 14:04:11

    Et encore quelqu'un d'accord avec moi !!!
    Merci Norton ...
    Le jour où j'ai besoin d'un moteur 3D, je revindrais sur cette source plutôt pas trop mal

    Bonne Prog
    Colin CHARGY

  • signaler à un administrateur
    Commentaire de XT95 le 30/06/2007 22:01:46

    =) Merci pour les commentaires, ben remotivé je me relance dans la création d'un moteur 3d, mais orienté demo (la demoscene, tout ssa) cette fois. Donc pas de phisique n'y rien, juste le plus d'effet graphique possible.
    J'ai commencé par la structure ^^:
    http://lxt95l.free.fr/XDE/uml.jpeg
    Et le 1er rendu du futur moteur :
    http://lxt95l.free.fr/XDE/Screens/test.jpg

    Sinon vous pouvez voir d'autres screens de ce moteur avec l'évolution ici :
    http://lxt95l.free.fr/xtEngine/Screen/

    A+
    XT95

  • signaler à un administrateur
    Commentaire de CChargy le 01/07/2007 10:01:18

    Mais c'est magnifique tout ça...
    L'eau est nikelle, les effets aves les shaders aussi!!!
    Très très bien ...

    Les screens sont très beaux! Les screens de l'île me font penser au dernier Worms ....
    Sinon j'ai vu que tu travaillait sous GNOME, tu as déjà tester tes programmes sous Windows ?
    Si oui, utilise tu deux compilation entre Linux et Windows? COMMENT TU FAIS???

    Dernière question : Ubuntu ?

    Merci encore pour ces screens ...
    Bonne continuation
    Colin CHARGY

  • signaler à un administrateur
    Commentaire de XT95 le 01/07/2007 13:47:02

    Salut !
    Oui je travail uniquement sous linux (Fedora 7), pour la compilation sous win je fais encore un truc pas beau :° :
    J'ai installé mingw32 (gcc porté sous windows), sous linux avec wine.
    J'ai créer une variable d'envirronement $MINGW32 pointant vers le rep ou je l'ai installé.
    Et dans mes makefiles au lieu de mettre gcc je met $(MINGW32)/gcc.exe pour compiler.

    Voila voila, encore merci pour ton entouthiasme =) mais je préfere repartir de zéro avec une bonne structure, le moteur était vraiment devenu trop brouillont.

    Bonne continuation a toi aussi.
    XT95

  • signaler à un administrateur
    Commentaire de CChargy le 01/07/2007 21:02:10

    Excuse moi, je reviens sur la compilation inter-plateforme ...
    Ton truc marche bien ???
    Je suis vachement intéressé par le sujet ...
    Sinon au niveau du projet, tu utilise un IDE ou un makefile ?
    Si tu utilise un makefile, tu peux me le montrer que je vois comment tu fais entre linux et windows ...
    Si tu utilise un IDE, lequel ? Comment tu fais pour spécifier les librairies, qui sont différentes enter windows et linux ...
    Et au niveau du code, comment tu fait pour passer de linux à windows ?
    Je pensait à un #define LINUX ou #define WINDOWS et après faire des #ifdef WINDOWS #include <windows.h> #endif ...

    Voilà, voilà, je suis en pleine réflexion sur le sujet en ce moment parce qu'il va falloir que je m'y mette ...

    Merci encore
    A+
    Colin CHARGY

  • signaler à un administrateur
    Commentaire de XT95 le 01/07/2007 21:17:09

    "Ton truc marche bien ???"
    Pour le moment ouai =)

    "Sinon au niveau du projet, tu utilise un IDE ou un makefile ?"
    J'utilise un Makefile, regarde le dossier Makefile de ce projet =).

    "Et au niveau du code, comment tu fait pour passer de linux à windows ?"
    Tout est portable, j'inclu jamais windows.h :°, j'ai juste un #define windows/linux dans le fichier camera.cpp car pour les touche FPS (ZQSD) sur linux c'est bien ZQSD mais sous windows c'est comme les claviers anglais (WASD).

  • signaler à un administrateur
    Commentaire de CChargy le 01/07/2007 21:34:07

    OK ok merci je vais donc faire comme toi ... C'est une bonne idée ...
    Tu as installer juste le compilateur pour Windows ou avec un IDE (comme Code::Blocks) pour te simplier la tache ...
    Aller je m'y met ...

    Merci encore

  • signaler à un administrateur
    Commentaire de XT95 le 01/07/2007 22:02:21

    Non non, juste le compilo http://www.mingw.org/ j'ai horreur des IDE ^^

  • signaler à un administrateur
    Commentaire de CChargy le 01/07/2007 22:03:44

    Ok merci, si j'ai un soucis je te recontacte ... Je suis effectivement en train d'installer Mingw32 avec Wine ...

    A+
    Colin CHARGY

  • signaler à un administrateur
    Commentaire de jtaous le 24/07/2007 11:47:52

    bon commencement ,courage...!

Ajouter un commentaire