begin process at 2008 07 06 12:52:56
1 205 544 membres
121 nouveaux aujourd'hui
14 119 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 !

DOOM LIKE EN OPENGL


Information sur la source

Catégorie :OpenGL Source .NET ( DotNet ) Niveau : Initié Date de création : 05/01/2004 Date de mise à jour : 29/02/2004 15:43:08 Vu / téléchargé: 19 508 / 2 045

Note :
9,33 / 10 - par 6 personnes
9,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Description

DOOM LIKE: MAP créée et texturée sous 3dsmax.
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de Xs le 05/01/2004 23:25:01

    Ca m'a l'air sympa. Mais d'apres la capture, c'est optimisable... 22fps :D

    bravo tout de meme.

  • signaler à un administrateur
    Commentaire de sebos2013 le 05/01/2004 23:30:06

    En fait, je faisais une compression en meme temps, en temps normal il fait du 86 FPS

  • signaler à un administrateur
    Commentaire de sebos2013 le 05/01/2004 23:35:35

    60000 faces c qd meme enorme pour du temps reel (comparé aux perso de counter ou bien quake a environ 500faces).
    Au fait c pas 86 mais 33(86 c pour une version aptimisée par 10 sous 3dsmax et on voit pas vraiement la difference)

  • signaler à un administrateur
    Commentaire de Kirua le 06/01/2004 07:38:09

    ben, le génie de l'artiste se mesurera à sa capacité à faire du beau en 500 triangles, voilà l'histoire ;-)

  • signaler à un administrateur
    Commentaire de djl le 06/01/2004 17:36:59

    ya pas d'exe?

  • signaler à un administrateur
    Commentaire de sebos2013 le 06/01/2004 17:41:35

    Les exe ne sont pas autoriser dans les zip, alors faut que tu compile toi meme le prog.
    NB: la map fourni dans le zip n'est pas celle de la photo pour des raisons de memoire.

  • signaler à un administrateur
    Commentaire de djl le 06/01/2004 18:32:28

    si ta fait ca avec dev c++, je peu pas compiler car je peu pas l'avoir, moi je met l'exe dans le zip(et je loin d'etre le seul mais bon...) pour ceux qui n'ont pas vc++ par ex
    c'est une histoire de confiance, et ce qui est strictement interdit c'est de filer un exe a la place du zip

  • signaler à un administrateur
    Commentaire de djl le 06/01/2004 18:36:48

    scuz, aparament tu la fait sous vc++ mais manque les fichiers du projet, non?

  • signaler à un administrateur
    Commentaire de sebos2013 le 06/01/2004 20:40:53

    Je viens d'ajouter l'exe, par contre g enlever les dll pour l'opengl car le fichier était trop volumineux.
    Sinon, le fichier projet est bien dans le zip, c le fichier Moteur3d.vcproj.

  • signaler à un administrateur
    Commentaire de djl le 06/01/2004 21:06:34

    oui mais ta source est en .net(j'avai pas vu) et j'ai vc++ 6.0
    faut un truc particulier pour executer un .net(genre une VM) parce que ca plante quand je le lance ??

  • signaler à un administrateur
    Commentaire de Kirua le 06/01/2004 21:07:29

    il te faut le run time de microsoft, hyper gros fichier, mirosoft.com

  • signaler à un administrateur
    Commentaire de djl le 06/01/2004 21:16:52

    ouai ba je vais lacher l'affaire

    sebos2013 ==> les attributs sont public par defaut dans une struct

  • signaler à un administrateur
    Commentaire de Kirua le 06/01/2004 21:24:20

    et private par défaut ds une classe

  • signaler à un administrateur
    Commentaire de sebos2013 le 06/01/2004 21:33:17

    Dsl, mais g oublie de relire mon code pour ASE.h, mais il marche tres bien, juste quelques modifs que je ferai plus tard.

  • signaler à un administrateur
    Commentaire de djl le 06/01/2004 21:34:02

    voila toute la difference!

  • signaler à un administrateur
    Commentaire de ypikai le 07/01/2004 14:09:48

    Juste un petit truc comme ca evite de dire que c un moteur 3D certains pourraient le croire et pourtant c'est encore très loin d'être un moteur 3D mais sinon c du bon taf

  • signaler à un administrateur
    Commentaire de sebos2013 le 07/01/2004 20:05:42

    Tu as tout a fait raison, je suis conscient que ce n'est qu'1 debut et il y a du boulot, il faut gerer les textures, lumieres, collisions, etc..
    Mais g pas trop le temps ce mois ci.

  • signaler à un administrateur
    Commentaire de djl le 07/01/2004 21:15:15

    ouai les textures normalement tu recupere les corrdonnées dans le .ase, pareil pour les normales des vertexs, non?(si c 3ds)

    en fait le plus dur c'est vraiment la gestion des colisions(detection et reponse), tu va t'amuser!

  • signaler à un administrateur
    Commentaire de sebos2013 le 07/01/2004 21:21:14

    Les normales des vertex c deja fait, mais pour que ca soit utile il faut utiliser le modificateur smooth dans 3dsmax, sinon pour optimiser mon prog, peut etre serai-t-il mieux de ne calculer qu'1 normale par face et non 1 par sommet, ca reduirai le calcul des normales par 3, non?

  • signaler à un administrateur
    Commentaire de djl le 07/01/2004 21:36:49

    j'ai jamais fait mais je suppose que les normal c'est pour l'eclairage puisque par exemple avec la normal d'un plan tu deduis son coefficient d'eclairage et de meme avec les vertexs, mais je crois que c'est mieux de faire un eclairage par vertex car avec les plan ca "facetise" ton model, et de toute facon ces calcul sont fait pendant le chargement et pas pendant le rendu.
    je suis pas sur de ce que je dit donc corrigez moi si je me trompe!

  • signaler à un administrateur
    Commentaire de Kirua le 07/01/2004 21:44:07

    perso en OpenGL je fais qu'une normale par polygone (qd je code les vertexes "à la main")

  • signaler à un administrateur
    Commentaire de djl le 07/01/2004 21:50:03

    moi c'est fini, je fait plus ca a la main! j'ai fait mon petit prog pour dessiner des map(trop pratique)

  • signaler à un administrateur
    Commentaire de Kirua le 07/01/2004 21:51:47

    ben quand il faut faire un cube j'ai ma classe toute faite quoi, je l'ai écrite une fois pr toutes.

    qd aux maps de jeux, évidemment tu te crées un éditeur, pas fou :-P

  • signaler à un administrateur
    Commentaire de djl le 07/01/2004 21:59:14

    le labyrinthe je l'ai fait a la main!

  • signaler à un administrateur
    Commentaire de Kirua le 07/01/2004 22:49:48

    nah, je te parle d'un JEU lol, le labyrinthe c'est un mini-jeu, on est d'accord non? un serpent, aussi beau et évolués soit-il reste un mini-jeu. un jeu c'est une histoire (un scénario), etc...

  • signaler à un administrateur
    Commentaire de Xs le 07/01/2004 22:54:32

    En tout cas, c'est bien parti pour devenir un moteur3D qui soit digne de ce nom

  • signaler à un administrateur
    Commentaire de djl le 07/01/2004 23:02:00

    Kirua ==> oui que c'est un mini jeu mais j'aurais quand meme prefere le faire avec un editeur plutot qu'a la main

  • signaler à un administrateur
    Commentaire de sebos2013 le 08/01/2004 08:08:18

    Moi, je prefere les mega jeux, c un sorte de vrai jeu avec plein d'autres truc, il me semble.

  • signaler à un administrateur
    Commentaire de Kirua le 08/01/2004 14:17:10

    sebos tu te moques de moi ou... :-D

  • signaler à un administrateur
    Commentaire de sebos2013 le 09/01/2004 16:56:43

    Si vous voyez des moyens d'optimiser mon code, n'hesitez pas à me le dire!!!

  • signaler à un administrateur
    Commentaire de djl le 09/01/2004 19:29:09

    au lieu de faire glVertex3f( 3 parametre ) fait glVertex3fv( tableau de 3 parametre) juste pour voir si ca ameliore beaucoup le framerate

  • signaler à un administrateur
    Commentaire de sebos2013 le 10/01/2004 19:04:21

    Je viens juste de faire des modifs, ce qui est dit précedemment et affichage du framrate seulement.
    J'observe un gain d'environ 10 fps, c pas mal.

  • signaler à un administrateur
    Commentaire de djl le 10/01/2004 20:00:37

    a ouai 10fps par rapport a 27 c'est pas mal!
    si ton objet ne bouge pas tu peu faire une display list compilé

    unsigned dl_obj; // la display liste

    // procedure que tu appel au debut du prog
    void InitRendu(TypeObjets *objj)
    {
    dl_obj=glGenLists(1);
    glNewList(dl_obj,GL_COMPILE);

    if (objj != NULL)
    {
    Info obj = objj->infor;
    glBegin(GL_TRIANGLES);
    unsigned long j=0;
    for (unsigned long i=0;i<obj.mesh_numfaces;i++)
    {
    glNormal3fv(&obj.tab_meshvertexnormal[3*j]); j++;
    glVertex3fv(&obj.tab_sommets[3*obj.tab_polygones[3*i]]);
    glNormal3fv(&obj.tab_meshvertexnormal[3*j]); j++;
    glVertex3fv(&obj.tab_sommets[3*obj.tab_polygones[1+3*i]]);
    glNormal3fv(&obj.tab_meshvertexnormal[3*j]); j++;
    glVertex3fv(&obj.tab_sommets[3*obj.tab_polygones[2+3*i]]);
    }
    glEnd();
    rendu(objj->suivant);
    }
    glEndList();
    }

    tu rajoute glDeleteLists(dl_obj, 1); a la fin du prog

    a pres dans draw() tu fait:
    glCallList(dl_obj);  pour afficher la list

    par contre je me demande si c'est utile les vertexs arrays dans une display list?? (de toute facon la c'est fait)

    on verra de combien ca augmente le framerate

  • signaler à un administrateur
    Commentaire de sebos2013 le 10/01/2004 21:10:28

    Je viens de faire les changements que tu viens de me conseigner.
    Par contre, il y a quelques petites erreurs que j'ai corrigé:
    1)InitRendu(FileLoader.Objets);
    2)la fonction InitRendu étant récurssive, il fallait donc mettre
    -dl_obj=glGenLists(1);
    glNewList(dl_obj,GL_COMPILE);
    -glEndList();
    en dehors de la fonction InitRendu
    Sinon, c génial, j'ai pu multiplié le nb de faces par 7 en gardant un fps de 43.

  • signaler à un administrateur
    Commentaire de sebos2013 le 10/01/2004 21:19:13

    Ca fait qd meme enorme, une scene de 450 000 faces environs, je le dit encore, la map dans le zip n'est pas celle de la capture (memoire oblige).

  • signaler à un administrateur
    Commentaire de djl le 10/01/2004 21:26:03

    desolé j'avai trop pas capter que c'etait recursif!
    ta essayer avec et sans les vertex arrays dans la display list pour voir si ca change les perf?

    autre chose, d'assez important, le cull facing, un polygone a 2 faces(normal !) mais on en voit qu'une donc faut supprimer celle qui n'est pas vue(50% de rendu plus rapide garanti!)

    ta qu'a rajouter ca dans draw()

    glEnable(GL_CULL_FACE);    
    glCullFace(GL_BACK);

    moi sur une scene avec ca je passe de 360 a 440fps donc c a prendre

  • signaler à un administrateur
    Commentaire de djl le 10/01/2004 21:29:12

    450000 c carrement du jamais vu dans les jeux video!

    dans 3dm2k1, la map pour tester la geometrie faisait 1 million de triangle!!! (moi je faisais 22 fps avec une source de lumiere et ma gf3)

  • signaler à un administrateur
    Commentaire de sebos2013 le 10/01/2004 21:37:59

    Dsl, mais ca n'a rien changé, sinon comment tu fait pour avoir 440fps car meme avec un seule cube dans la scene, il semble que mon fps bloque a 86.

  • signaler à un administrateur
    Commentaire de djl le 10/01/2004 21:45:48

    ton v-sync doit etre activer(ton ecran doit etre en 85hz), il faut que tu le desactive dans les parametre opengl de ta carte graphique
    moi j'ai 2300fps quand j'affiche juste les fps!

  • signaler à un administrateur
    Commentaire de sebos2013 le 10/01/2004 21:53:31

    Merci, ca marche.

  • signaler à un administrateur
    Commentaire de djl le 10/01/2004 21:53:53

    en fait le cull facing te fera gagner en perf quand tu utilisera des textures vu que ca economise le fillrate

  • signaler à un administrateur
    Commentaire de Kirua le 10/01/2004 21:54:10

    djl, je vois pas l'avantage de désactiver le V-sync, de toute façon ton écran affichera jamais les images générées entre, ça peut etre utile que pour l'amélioration des performance mais quand tu joues à un jeu, autant l'activer, ça évite de surcharger le processeur.

  • signaler à un administrateur
    Commentaire de djl le 10/01/2004 22:04:00

    ben en fait ca depend des jeux, pour quake 3 par ex tu peu etre sur que si tu veut frager sec ta pas interet a avoir le v-sync d'activer car le moteur de q3 a la particularite d'avoir plusieur phase de jouabilite en fonction du framerate(genre a partire de 120-150 c'est autre chose) et tu peu pas le ressentir avec la synchro.
    d'ailleur Carmack veut justement corriger cette injustice pour doom3 en plafonnant le framerate a 60fps!

  • signaler à un administrateur
    Commentaire de sebos2013 le 11/01/2004 16:50:17

    Je viens de faire quelques modifs.
    J'ai eu un probleme de System.StackOverFlowException, alors g été obligé de modifier toutes mes fonctions récursives en itératives afin de ne pas surcharger la pile d'exécution.
    Sinon, j'ai modifier la fct de chargement des objets, et le chargement semble bcp plus rapide.

  • signaler à un administrateur
    Commentaire de Kirua le 11/01/2004 16:53:20

    ok djl, donc j'ai enfin une excuse tangible à ma nullitude à Quake 3 :-D

  • signaler à un administrateur
    Commentaire de djl le 11/01/2004 18:45:23

    ouai, tout comme le ping est une excuse sur internet !

    sebos2013 ==> elle clack cette scene!
    et 25 fps pour 1,3M de polygones c'est pas mal

  • signaler à un administrateur
    Commentaire de Kirua le 11/01/2004 18:56:42

    ---------------------------
    Moteur3d.exe - Erreur d'application
    ---------------------------
    L'application n'a pas réussi à s'initialiser correctement (0xc0000135). Cliquez sur OK pour arrêter l'application.
    ---------------------------
    OK  
    ---------------------------


    est-ce que ce message veut dire que je dois installer le Run-Time .NET ?

  • signaler à un administrateur
    Commentaire de djl le 11/01/2004 19:03:47

    helas oui ;)

  • signaler à un administrateur
    Commentaire de Kirua le 11/01/2004 19:05:02

    zut... bon ben, je vais faire ça alors

  • signaler à un administrateur
    Commentaire de Kirua le 11/01/2004 19:22:47

    voilà, je l'ai installé, ça fait une 20aine de Mo pour ceux qui veulent savoir, microsoft.com

    alors, je me suis balladé pdt 10 min autour de la théière et du noeud :-D mais tu pourrais pas m'envoyer la scène du screenshot via mail? nicolasboumal arobase hotmail points com, essaye de bien compresser si tu me l'envois parce que hotmail est méchant sur les tailles :-P

    pr info, j'ai 57 FPS avec cette scène, GeForce3 Ti200

  • signaler à un administrateur
    Commentaire de sebos2013 le 11/01/2004 19:23:48

    ok je vais essayer pou le screenshot.
    En ce qui concerne la scène, c un boulot que j'ai fait dans le cadre de mes études, tout le batiment en 3d (la photo ne represente qu'1 tres faible partie), la plus grosse scène monte a plus de 6millions de faces (45mn de rendu avec 3dsmax alors en tps reel, c pas la peine).

  • signaler à un administrateur
    Commentaire de sebos2013 le 11/01/2004 19:35:04

    Par contre je pense t'envoyer plutot le fichier max que ASE, tu n'auras qu'a l'exporter. (l'ase prend presque 460Mo) alors que le max compreesé 670Ko, je pense que tu me comprendras.

  • signaler à un administrateur
    Commentaire de djl le 11/01/2004 19:39:02

    ouai c'est sur qu'au format texte ca prend un peu plus de place!
    mais avec quoi on peut le convertir en .ase? parce que 3ds c'est pas donné

  • signaler à un administrateur
    Commentaire de sebos2013 le 11/01/2004 19:42:22

    A par 3dsmax, je vois pas trop, tu l'auras facilement sur la mule ou edonkey.

  • signaler à un administrateur
    Commentaire de sebos2013 le 11/01/2004 20:10:59

    La solution serait que j'importe directement du fichier max, mais la, la structure ne se deduit pas, a moins que vous ayez des docs.

  • signaler à un administrateur
    Commentaire de sebos2013 le 11/01/2004 20:51:22

    Pour que je t'envoie le fichier de 760ko sur hotmail, il faudrait d'abors que tu fasses de la place, car il me dit que ton compte est plein.

  • signaler à un administrateur
    Commentaire de Kirua le 11/01/2004 21:14:54

    ok merci sebos, j'utiliserai 3D Exploration pr extraire.

  • signaler à un administrateur
    Commentaire de sebos2013 le 11/01/2004 23:15:39

    Voila, je viens de mettre a jour mon prog, ca devrait marcher avec 3D Exploration, en fait les ASE de 3dsmax commencent toujours par *3DSMAX_ASCIIEXPORT
    et je cherchais cette ligne pour savoir si s'était bien un ASE, g donc supprimé ce test.

  • signaler à un administrateur
    Commentaire de Kirua le 11/01/2004 23:23:53

    ben de toute façon 3D Exploration fait la grève chez moi O_o Plus moyen de le lancer, même après réinstallation, comprends pas. Je verrai ça demain, merci pr les efforts, je suis curieux de voir cette salle ^^

  • signaler à un administrateur
    Commentaire de Kirua le 12/01/2004 17:13:24

    alors, j'ai pu lancer le programme, mais ça m'a juste servi à me rendre compte que 3DE est incapable de générer des ASE, eh vi... enfin, tant pis ! merci qd même :-)

  • signaler à un administrateur
    Commentaire de djl le 12/01/2004 18:38:49

    oui mais 3de gere les .asc (3d studio asc file) qui sont aussi des fichiers ascii donc doit y avoir moyen de faire un loader pour ce format

    pour un .3ds de 900ko je passe a 5mo en .asc

  • signaler à un administrateur
    Commentaire de sebos2013 le 13/01/2004 18:23:40

    Le problème, c que 3dsmax, n'exporte pas an ASC

  • signaler à un administrateur
    Commentaire de djl le 13/01/2004 18:26:43

    3de converti les .3ds en .asc

  • signaler à un administrateur
    Commentaire de Kirua le 13/01/2004 18:29:31

    d'accord, mais ds l'immédiat ça pose problème, un loader ASC ça s'improvise pas je suppose ^^

  • signaler à un administrateur
    Commentaire de djl le 13/01/2004 18:34:58

    ba tu cacul vite fait la structure vu que c'est du texte donc en ce qui concerne le chargement des vertexs, si ca peut se faire vite fait!

    ==> contenu d'un asc

    Ambient light color: Red=0.2 Green=0.2 Blue=0.2

    Named object: "antennae"
    Tri-mesh, Vertices: 1630     Faces: 2876
    Vertex list
    Vertex 0:  X:-10.3154 Y:-771.608 Z:167.434
    Vertex 1:  X:-10.3154 Y:-791.221 Z:162.014
    Vertex 2:  X:-10.3154 Y:-791.221 Z:157.198
    Vertex 3:  X:-10.3154 Y:-734.72 Z:157.198
    Vertex 4:  X:-10.3154 Y:-710.973 Z:165.104
    Vertex 5:  X:-10.3154 Y:-678.628 Z:165.104
    Vertex 6:  X:-10.3154 Y:-678.628 Z:179.307
    Vertex 7:  X:-10.3154 Y:-710.973 Z:179.307
    Vertex 8:  X:-10.3154 Y:-734.487 Z:168.662
    Vertex 9:  X:-10.3154 Y:-752.325 Z:168.662
    ...

  • signaler à un administrateur
    Commentaire de Kirua le 13/01/2004 18:37:19

    ah c si "con" que ça? :-D mais c une perte monstre de place d'écrire Vertex à chaque fois O_o

  • signaler à un administrateur
    Commentaire de djl le 13/01/2004 18:39:44

    c'est ce que j'ai dit plus haut
    "pour un .3ds de 900ko je passe a 5mo en .asc "

    a la maniere des .ase ...

  • signaler à un administrateur
    Commentaire de Kirua le 13/01/2004 18:42:48