IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DirectX Discussion :

directx 9 ou opengl?


Sujet :

DirectX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    sen
    sen est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 7
    Par défaut directx 9 ou opengl?
    bonjour,

    Je dois concevoir pour un projet, un module graphique 3d
    (je fournirais des fonctions de déplacement d'animation ect );
    Pour cela je dois choisir entre ces 2 technologie Opengl et directx.
    Sachant que je dois développer en C# avec Visual Studio .NET
    le choix semblerai pencher plus vers Dx (étant un produit MS).

    Cependant, n'ayant jamais fait de 3d il me semble (d'après diverse lecture et préavis) qu'opengl soit plus facile d'accès mais bon ce n'est pas vraiment une raison primordiale (enifn j'entends par la qu'avec de la doc et du travail c'est surmontable).

    Maintenant, j'aimerais avoir votre avis cher habitués de ces technologies 3d sur la question avec bien entendu (surtout) des "justificatifs".

    Merci d'avance,
    Sen.

  2. #2
    mat.M
    Invité(e)
    Par défaut
    C'est vrai Open GL est bien plus facile à apprendre que Direct X bien que Microsoft ait simplifié les API de Direct 3D avec Direct X8.
    Le problème avec Open GL ce sont les drivers pas forcément toujours compatibles ou susceptibles de provoquer des problèmes.
    Faut voir à l'essai...
    Open Gl est plus orienté applications graphiques "sérieuses" contrairement à Direct X plus orienté Jeux.

    Par contre une chose est sûre : laisse tomber purement et simplement C# !!
    Surtout ne pas se lancer avec ce langage pour développer une appli graphique because l'application risque de ramer .
    La solution : apprendre le C++ , c'est douloureux je sais , mais c'est quasi obligé.

  3. #3
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    ca depend beaucoup de la taille de ton projet... si c'est juste afficher quelques petit objet avec translation rotation et autre... => openGL c'est TRES nettement plus rapide a apprendre (perso j'ai mis exacement 30 seconde a comprendre comment afficher un triangle devant un exemple )

    si le projet est plus important alors la il n'y a pas vraiment de difference sau qu'avec openGL tu risque d'avoir à refaire des classes qui existent deja avec Dx
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  4. #4
    Membre éprouvé
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Par défaut
    C# + MDX ramer ? Troll !!! C'est que disent tous les mecs qui n'ont jamais essaye et ne savent pas de quoi ils parlent...

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 118
    Par défaut
    OpenGL c'est plus rapide a apprendre et on peut faire des truc aussi bien et évolué qu'avec directX.

    La dessus tout est dit....

  6. #6
    sen
    sen est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 7
    Par défaut Merci
    hmm cepandant je pense que je vais quand meme pus pencher vers Dx
    (vu qu'il englobe pas mal de service : Réseaux ect...)

  7. #7
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par Laurent-USA
    C# + MDX ramer ? Troll !!! C'est que disent tous les mecs qui n'ont jamais essaye et ne savent pas de quoi ils parlent...
    Ah non Monsieur !!! Je suis désolé !
    Ce n'est pas un troll.
    Lorsqu'on voit comment ça rame une appli Dx développée avec Visual Basic 6.
    Simplement prendre pour exemple "Donut" pour VB et Donut pour C++ du SDK de Direct X : 50% plus lent en VB
    Alors je l'avoue je n'ai jamais développé en C# avec Direct X mais comme C# c'est "code managed" + runtime /framework , ça promet de pédaler.
    Autre chose et expérience à tenter : avec les exemples de .NET , il ya l'exemple "Scribble" pour C# bien connu des exemples MFC .
    Sous C# ça rame tandis qu'avec VC++/MFC ça se déroule optimalement.
    Faire l'expérience.

    Est-ce que les gens d'ID Software vont développer Quake ou Doom version 3 en C# ?
    Est-ce que Half Life 2 très attendu est développé en C# ?
    Je mettrai ma main au feu que ID Software et autres utilisent encore en grande partie de l'assembleur ce qui est impossible avec C#/NET.
    On peut télécharger le code source de Civilisation III Call to Power et dedans il y a des routines en assembleur

    Même un consultant de Microsoft pourtant adepte de .NET m'a dit que c'était plus lent avec .NET ( because Code Managed ).

    Quand on développe avec Visual Basic et qu'on voit comment ça pédale pour ne serait-ce qu'écrire le moindre fichier texte , alors faites ce que vous voulez , mais moi C# et .NET j'en veux pas pour les graphismes et jeux vidéos.
    .NET C'est très bien pour une appli bancaire ou de compta client serveur avec web services mais PAS pour de jeux vidéos !

    Sur un forum US il y avait même une personne qui se demandait si programmer directement les sockets ce n'était pas mieux que d'utiliser les couches de Direct Play !

    C'est que disent tous les mecs qui n'ont jamais essaye et ne savent pas de quoi ils parlent...
    C'est vrai , j'ai la franchise de reconnaître que je n'ai jamais essayé C# et .NET et Direct X

    Sur un petit projet évidemment il ya aura sans doute peu de différences.
    Mais sur un gros projet commercial genre Half-Life 2 qui sollicite énormément le matériel , est-ce toujours le cas ??

    Que dire d'un gros projet où il faut afficher milliers de polygones , plaquer des textures dessus , sans compter l'IA ? Bref une mise en charge importante et très contraignante pour le logiciel ?

  8. #8
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    pour doom 3 je croit (a verifier) que c'est le premier moteur d'ID qui sera réalisé en c++ (les autre etait en c et avec ...... OpenGL pour le rendu graphique )
    et depuis quake 3 le moteur est réalisé entièrement en c et non pas un melange d'ASM et c comme pour les precedents...

    pour le C# de toute facon il sera tres peut utilisé pour les jeux etant donné la "lenteur" des machines virtuelles qui ralentissent trop le rendu des jeux commerciaux très gourmand en ressources (pour des jeux plus petit ca reste utilisable...)

    voila @+
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  9. #9
    sen
    sen est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 7
    Par défaut ouaip
    du coup je pense que je vais tester en fait et je serais fixer directement...
    je vais comencer par opengl et je verrais bien...

    merci à tous

  10. #10
    Membre éprouvé
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Par défaut
    Il y a une malediction sur toutes les discussions OGL vs DX : Ca finit toujours en troll poilu...

    mat.M gagne sans aucun doute sur ce plan avec une belle brochette d'affirmations techniquement ridicules qu'il conclue en nous avouant finalement qu'il n'y connait rien et que toute sa connaissance, c'est du "on m'a dit"... Pfff...

    Dommage que MS n'ai ( encore ? ) rien annonce sur Xenon au CES, cela aurait pu relancer cette discussion, peut-etre sur un plan plus interessant.

  11. #11
    mat.M
    Invité(e)
    Par défaut
    mat.M gagne sans aucun doute sur ce plan avec une belle brochette d'affirmations
    techniquement ridicules qu'il conclue en nous avouant finalement qu'il n'y connait rien et que toute sa connaissance, c'est du "on m'a dit"... Pfff...
    Laurent .M avec tout le respect que je te dois :
    en quoi mes propos sont-ils ridicules ? Merci d'être précis et de détailler
    on ne m'a absolument rien dit du tout ( exception faite du consultant Microsoft )
    Pour les tests concernant Scribble , encore une fois j'invite les gens à faire les essais.
    fait l'effort de télécharger des codes sources de soft commerciaux .
    Par exemple le code source de Quake 2 ( qui date certes ) est téléchargeable librement.
    Ne soit pas de mauvaise foi je te prie , tu sais pertinemment qu'ils sont en C++ .
    Quid de C#.

    Dommage que MS n'ai ( encore ? ) rien annonce sur Xenon au CES, cela aurait pu relancer cette discussion, peut-etre sur un plan plus interessant.
    Si tu es dans le secret des Dieux alors parle-nous de cette technologie Xenon !
    Sois sympa de détailler tout cela.
    Ce n'est pas parce que Microsoft , certes leader mondial du logiciel lance une technologie que celle-ci est forcément bonne , et techniquement , et commercialement.
    Que dire par exemple de Windows Media Center ?

    Libre à chacun de faire ce qui lui plaît .
    J'invite les gens à faire ce qui leur plait.
    Mais moi je vous dit tout de go : C# pour jeux vidéos niet ! , enfin faites ce que vous voulez.

  12. #12
    Membre éprouvé
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Par défaut
    Ok, ok, alors on va tout reprendre point par point...

    VB6 : C'est pas du dot net. c'est du COM-DirectX. C'est lent a cause des variants du VB. VB.Net c'est completement different et ce n'est pas comparable.

    DX et MDX : MDX n'est pas une couche par dessus DX. C'est un code completement neuf.

    Runtime : C# est compile JIT. Il s'execute en natif. Il n'y a pas de runtime.

    Framework : Il n'est pas necessaire d'avoir le framework sur une machine cible pour faire tourner du C#. Il suffit de compiler et linker son code IL offline. On a alors une appli native. Evident non ? Si on peut le faire JIT, on peut le faire offline.

    Managed : Avoir un Garbage Collector ne ralentit pas un programme. Le GC tourne en tache de fond et il ramasse quand on a le temps disponible.

    Scribble : Scribble pour dot net demande le GDI+. Marche impec sur mes trois PCs. Regle proprement ta vid-board.

    Quake / Doom 3 / HL 2 : Ces projets ont ete lances il y a trois ans. A cette epoque, C# etait pas fini et MDX n'existait pas. Alors evidement C# n'etait pas une option. Doom 4 et HL3 en C# : certainement. ( Voir Xenon plus bas ) Aujourd'hui, c'est une option tres valable. Langage moderne, fiable, standardise et bien documente. Interfacable OGL. Portabilite PC, Linux, Mac OsX et bientot console.

    Mixer Assembleur et C# : Evidement que c'est possible.

    Consultant Microsoft : Moi aussi, j'ai bosse chez MS en tant que consultant. Je travaillais sur XBOX-Live. D'ailleurs c'est tout fait en C#, sauf les requetes SQL evidement.

    Fichiers : Si ca pedale en C# sur tes fichiers textes, c'est que tu t'y prends comme un pingouin autiste. J'ai fait un code qui brasse des centaines de megabytes de fichiers binaires et texte... No problem. Tout aussi rapide que C++, evidement puisqu'on attends que le HD en ait termine.

    La sectorisation : Si c'est bon pour la banque, c'est tout aussi bon pour le jeu video. Pourquoi le secteur bancaire ou financier aurait des exigences de qualite et de performance moindre que les dev de jeux video ??? Debile vraiment.

    Un forum US... : Les US, je connais merci. Citer des posts debiles est facile. Y'en a partout.

    Gros ou petit projet : Encore une debilite. Meme les petits projets affichent des milliers de polygones. Tous les projets affichent des milliers de triangles. So what's the fuck ?

    Xenon : C'est le petit nom ( non officiel ) de la XBOX 2 ou XboxNext. C'est plus politiquement correct que Midway, non ? On sait desormais que Xenon aura un processeur PowerPC, un chip graphique ATI et un chipset SIS. On sait aussi que l'on aura pas un DVD comme les autres. On esperait que Billou nous dise publiquement au CES en quel langage la nouvelle boite serait programmable. Faudra attendre E3, on dirait. Ouvrons les paris : Je suis pret a parier ma paye contre la tienne que c'est en C#+MDX.

    Microsoft : Tiens la, on a un petit debut de truc sense... Cela fait douze ans ou presque que MS nous sort merde sur merde. Et effectivement, C# et MDX, c'est du Microsoft pur sucre. Alors rien que pour cela, il est de bon ton de ricaner et de parler sans savoir, sans avoir essaye et probablement sans rien comprendre. Dommage pour vous si vous passez a cote car MS ne nous avait rien sorti d'aussi bien foutu depuis plus de 10 ans, et peut-etre meme 15.

    Quand a Media Center, je ne connais pas donc je n'en dirais rien.

    Pour conclure : Les performances temps reel d'un jeu ou d'une application graphique n'ont en general rien a voir avec le langage utilise, sauf pour quelques sections de code critiques en temps CPU que l'on code parfois en assembleur. La perf depends du talent des developpeurs pour exploiter a fond les capacites de la carte graphique, bien ajuster le paralellisme et eviter les goulots d'etranglement.

    Blamer un langage ou un environnement pour insuffisance de perf. est un argument classique du trolleur de base et n'est pas une excuse valable pour l'incompetence.

  13. #13
    Membre Expert

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Par défaut
    ceci dit, Microsoft n'a pas l'air de vouloir faire écrire les device drivers de Longhorn en C#. Ca nous ferait une belle jambe tout de meme.
    Quoique la plateforme sécurisée ça promet déjà pas mal aussi .

    Et en parlant de Xenon, quelques infos croustillantes sur le support des features DxNext par la plateforme console ?

    Je me mettrais bien à écrire des mini jeux sous OpenGL/C# si j'avais un peu plus de temps :/ demain peut-etre.

    LeGreg

    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

  14. #14
    Membre éprouvé
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Par défaut
    Des trucs qui "croustillent" sur Xenon et Blackcomb, effectivement j'en ai...

    Il suffit d'aller zoner a Bumbershoot ou descendre quelques bieres a Kirkland ou sur Redmond Towncenter pour tout savoir Ou presque car la qualite des infos est parfois douteuse. Enfin, en coupant et recoupant, on arrive a se faire une idee.

  15. #15
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    perso je me mettrait bien a c# qui resemble pas mal a java et surtout est 100% objet mais je sait pas si il existe un port de c# sous linux
    [mode cri déséspéré] si quelqu'un en a entendu parler et peut nous donner des info [\mode cri déséspéré]

    c'est a mon sens le gros aventage d'openGL (car la est le débat de base ne l'oublion pas...) : openGL est multiplateformes et permet d'avoir des vrai jeux commerciaux sous linux relativement facilement parce que tux racer ca va bien un moment ...
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  16. #16
    Membre éprouvé
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Par défaut
    C# Linux et Mac OS X => MONO !!!

    Voir www.go-mono.com

  17. #17
    mat.M
    Invité(e)
    Par défaut
    Laurent-USA :
    Microsoft : Tiens la, on a un petit debut de truc sense... Cela fait douze ans ou presque que MS nous sort merde sur merde. Et effectivement, C# et MDX, c'est du Microsoft pur sucre. Alors rien que pour cela, il est de bon ton de ricaner et de parler sans savoir, sans avoir essaye et probablement sans rien comprendre. Dommage pour vous si vous passez a cote car MS ne nous avait rien sorti d'aussi bien foutu depuis plus de 10 ans, et peut-etre meme 15.
    C'est extrêmement irritant de voir ses propos totalement déformés !
    Je n'ai jamais affirmé que l'éditeur cité précedemment commercialisait des produits de mauvaises qualités contrairement à de nombreuses personnes ( il y en a même un qui a écrit tout un livre la-dessus ) !!
    Merci de ne pas déformer mes propos.
    J'ai affirmé que l'éditeur comme tout autre entité commerciale pouvait se tromper mais en aucun cas je n'ai employé les qualificatifs que tu utilises.
    D'ailleurs j'apprécie grandement les produits de développement et de gestion ( notamment SQL-Server ) de l'éditeur.

    Gros ou petit projet : Encore une debilite. Meme les petits projets affichent des milliers de polygones. Tous les projets affichent des milliers de triangles. So what's the fuck ?
    Absolument des petits projets peuvent parfaitement afficher des milliers de polygones.
    Mais quand est-il d'un projet de millions de ligne de code sans compter le mode multi-joueur ce qui induit des contraintes sur l'exécutable final ???

    Runtime : C# est compile JIT. Il s'execute en natif. Il n'y a pas de runtime.
    Tout à fait il n'ya pas de runtime mais "tromperie sur la marchandise" en quelque sorte : le code compilé n'est pas du tout natif mais compilé dans un langage intermédiaire.
    Bon bref c'est un détail.

    Je travaillais sur XBOX-Live. D'ailleurs c'est tout fait en C#, sauf les requetes SQL evidement.
    Ok ok on peut faire un jeu entièrement en C# assez performant niveau graphique .
    Pourquoi : parce que nombreuses routines d'affichages sont spécialement optimisées, toutes les briques logicielles sont des briques toute faites.
    De même qu'on puisse affirmer que Java est aussi performant que le C++ sur des calculs.
    MAIS !!! que se passe-t-il si on implémente une intelligence artificielle assez pointue ??
    Ce qui n'est pas le cas des jeux tournant sur le matériel cité précedemment car la plupart de ces jeux ne sont ni plus ni moins que des jeux d'arcades , certes très performants graphiquement mais seulement d'arcade.
    Pour résumer on peut considérer que la console de jeu citée précedemment c'est bien pour faire tourner des clones de Mario mais quid de jeux de stratégie ..

  18. #18
    mat.M
    Invité(e)
    Par défaut
    Laurent-USA ,
    Encore une debilite
    Merci d'avoir du respect pour les autres .
    Je respecte les propos des autres alors merci pour le respect .
    D'ailleurs admettons que mes propos soient débiles mais je te signale qu'une autre personne apporte des contre-arguments à tes propres arguments.

  19. #19
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 118
    Par défaut
    Moi je pense qu'il faut arreter de ce tapez sur la tete.

    Le must pour les jeux 3d en temp réel sera toujour le C/C++.(c rapide et on peut faire tout ce qu'on veut)

    Pour la 3d je pencherai plutot pour l'OpenGL portable et même si DirectX a ces atout a lui. Sinon OpenGL a les meme extensions(texture3d,vertex_program.....).

    PS : je déteste les combat DirectX et OpenGL car sa dépend plutot des habitude du développeur. Un truc bien est d'aller voir sur leur site dédié ou il vante leur avantage. à vous de voir......

  20. #20
    Membre Expert

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Par défaut
    Citation Envoyé par Laurent-USA
    Il suffit d'aller zoner a Bumbershoot ou descendre quelques bieres a Kirkland ou sur Redmond Towncenter pour tout savoir Ou presque car la qualite des infos est parfois douteuse. Enfin, en coupant et recoupant, on arrive a se faire une idee.
    Oui mais Redmond c'est un peu trop loin de chez moi..

    En plus y'a des tempetes de neige

    LeGreg

    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

Discussions similaires

  1. Informations sur la carte graphique sans OpenGL ni DirectX !
    Par Hamdi Hedhili dans le forum Windows
    Réponses: 4
    Dernier message: 02/12/2005, 10h43
  2. Directx ou opengl
    Par scorpiwolf dans le forum DirectX
    Réponses: 13
    Dernier message: 07/02/2003, 08h29
  3. OpenGL ou DirectX
    Par Nadir dans le forum DirectX
    Réponses: 6
    Dernier message: 02/05/2002, 12h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo