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

Affichage des résultats du sondage: Quels API 3D préférez vous ?

Votants
19. Vous ne pouvez pas participer à ce sondage.
  • OpenGL + librairie pour les évenements

    15 78,95%
  • DirectX

    4 21,05%
API graphiques Discussion :

OpenGL vs DirectX


Sujet :

API graphiques

  1. #21
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Je suis développeur aussi bien sous environnement Microsoft que Linux

    J'ai eu à utiliser DirectX et OpenGL dans le même cadre (débutant en graphisme 3D, même application à réaliser dans les 2 environnements et cette application n'est pas un jeu.

    Pourquoi je préfère DirectX (c'est mon avis)
    1/ une documentation claire. La doc fournie avec le SDK est complète avec de nombreux exemples
    2/ une API poussé par un constructeur. Certes, ce support se fait au détriment d'une certaine notion du logiciel libre.
    3/ une API qui est implémentée dans certaines carte graphique. Cela va dans le sens des performances. Je ne suis pas sûr que OpenGL soit implémenté au niveau hardware.

    Cet avis n'engage que moi
    Raymond

  2. #22
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    Citation Envoyé par Bob.killer
    cette librairie avance beacoup plus vite qu'OpenGL
    Quoi !!! DirectX plus vite qu'OGL qui est en développezment constant !?!!?
    Citation Envoyé par Bob.killer
    De plus, il a beacoup plus de doc directX
    Quoi !!! OpenGl à bien plus de doc que DirectX elle est juste non-officielle mais ça ne change rien au fait qu'OpenGL est bien mieu documentée, rien qu'avec le tuto de Nehe.
    Citation Envoyé par bob.killer
    Encore une chose, je trouve que c'est un peu moins le bordel pour utiliser directX. Car OpenGL avec les extensions dans tous les sens on sait plus trop ou donner de la tête...
    Bon ça je suis d'accord mais OGL est moin "verbeu" que DirectX où il faut plein de fonction rien que pour l'initialisation de plus c'est un (léger ) détail qui se compense par la portabilitée d'OGL.
    Citation Envoyé par ram_0000
    1/ une documentation claire. La doc fournie avec le SDK est complète avec de nombreux exemples
    Celle d'OGl est aussi claire.
    Citation Envoyé par ram_0000
    2/ une API poussé par un constructeur. Certes, ce support se fait au détriment d'une certaine notion du logiciel libre.
    Personnelement je préfére le logiciel libre au détriment de cette solution, mais pour cela chacun ses gouts.

    Je préfére OpenGl ets j'ai déjà dis pourquoi mais chacun ses gouts et le but de ce débat c'est comme même que tout le monde puisse donner son avis donc n'hésitez pas à donner votre avis.

  3. #23
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    comme même
    quand même

    Quelle est la problématique derrière ce débat ? On l'a lancé juste pour créer des trolls, ou pour que les extrémistes de chaque API puissent se tirer dessus ? Personnellement je ne vois vraiment pas pourquoi on débattrait des heures pour savoir qui a la meilleure documentation ou qui avance le plus vite. Lorsqu'on fait de la 3D les deux sont équivalentes, à la portabilité près. Après c'est juste une histoire de goût ou d'impératifs très particuliers.

    Ce n'est que mon avis

  4. #24
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    Il y a quand même un débat au niveau de la mentalité et si les deux APIs étaient équivalentes, pourquoi ne pas se contenter d'une seule ?

  5. #25
    Membre averti Avatar de Bob.Killer
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    336
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 336
    Points : 332
    Points
    332
    Par défaut
    elles ne sont pas équivalentes mais microsoft a toujours fait des sdk pour sont système d'exploitation donc il a sortie DirectX pour windows ce qui est logique

  6. #26
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    Citation Envoyé par Bob.killer
    il a sortie DirectX pour windows ce qui est logique
    Oui c'est logique mais il sacrifie pour ça la portabilité de son API

  7. #27
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Citation Envoyé par Shugo78
    Oui c'est logique mais il sacrifie pour ça la portabilité de son API
    Sacrifié quoiça ? Tout le monde chez MS sait bien qu'il n'existe de par le monde qu'un seul OS, donc ce n'est pas un sacrifice. Un OS non microsoft, quelle idée saugrenue !

  8. #28
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    J'ai pas comprix ce que tu voulais dire ???

  9. #29
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Dans la vision du monde de Microsoft il n'y a (avait?) que microsoft, le reste étant le produit d'une imagination dérangée. Donc dans cette optique faire quelque chose qui ne fonctionne que chez MS n'est pas un sacrifice, c'est juste normal.

  10. #30
    Membre éclairé
    Avatar de Edouard Kaiser
    Profil pro
    Inscrit en
    Février 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2004
    Messages : 521
    Points : 756
    Points
    756
    Par défaut
    Citation Envoyé par ram_0000
    3/ une API qui est implémentée dans certaines carte graphique. Cela va dans le sens des performances. Je ne suis pas sûr que OpenGL soit implémenté au niveau hardware.

    Cet avis n'engage que moi
    Raymond
    Euh justement, OpenGL est aussi implémenté niveaux hardware sinon il n'y aurait plus aucun interête à l'utiliser...

  11. #31
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    Citation Envoyé par sivrît
    Dans la vision du monde de Microsoft
    ouf..... J'ai cru que le fait qu'il n'y avait qu'un seul OS était ta vision des choses !
    Me voil rassuré
    Citation Envoyé par Edouard Kaiser
    Euh justement, OpenGL est aussi implémenté niveaux hardware sinon il n'y aurait plus aucun interête à l'utiliser...
    Cette phrase 'avait echapé, encore heureux qu'OGL soit implémenté au niveau hardware.

  12. #32
    Yno
    Yno est déconnecté
    Membre habitué Avatar de Yno
    Inscrit en
    Novembre 2005
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 138
    Points : 141
    Points
    141
    Par défaut
    Ça veut dire quoi "implémenté au niveau hardware" ? C'est pas le driver qui s'occupe de ça ?

    Sacrifié quoiça ? Tout le monde chez MS sait bien qu'il n'existe de par le monde qu'un seul OS, donc ce n'est pas un sacrifice. Un OS non microsoft, quelle idée saugrenue !

  13. #33
    Membre éclairé
    Avatar de Edouard Kaiser
    Profil pro
    Inscrit en
    Février 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2004
    Messages : 521
    Points : 756
    Points
    756
    Par défaut
    ça veut dire que l'accélération est materielle. Les drivers sont fournis par les fabricants de GPU afin de faire le pont justement entre les fonctionnalités materielles présentes sur la carte.

  14. #34
    Yno
    Yno est déconnecté
    Membre habitué Avatar de Yno
    Inscrit en
    Novembre 2005
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 138
    Points : 141
    Points
    141
    Par défaut
    .. et après les API s'adaptent au driver et c'est bon non ? "OpenGL est implémenté au niveau hardware" veut dire pour moi "Les constructeurs ont adapté leurs architectures pour coller à X ou Y API" et ça ne veut rien dire implémenter une API dans un GPU, c'est l'API qui s'adapte au driver... ou alors j'ai véritablement loupé un épisode.

  15. #35
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    - OpenGL + librairie pour les événements
    - DirectX
    Si on compare DirectX à OpenGL, on a un problème, il manque la partie son, gestion réseau, input etc....

    Purement Direct3D vs OpenGL
    OpenGL:
    - cross platform

    Direct3D
    - exclusif Windows (sauf si on pense à Wine ou autre)

    Les fonctionnalités sont les mêmes sauf que les dernières extensions de la carte sont utilisé par DirectX10 et ne sont accessible que sous Vista, et qu'OpenGL peut faire tourner les dernières extensions sous XP.

    OpenGL est moins bien intégré à Windows que Direct3D, donc adieu le compositing de fenêtre transparente au dessus de son application OpenGL.

    On peut résumer TRES rapidement ce débat sans fin.

    Cross-platform ou autre platforme que Windows -> OpenGL.
    Exclusif windows -> Direct3D.

    Ensuite les goûts et les couleurs, au final tu prendras l'outil qui te permettra de faire ce que tu souhaites.

    Et le débat existe d'autant moins que souvent un moteur 3D est utilisé, comme Ogre, irrLicht etc...
    Qui sont en principe Direct3D/OpenGL

  16. #36
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    Chacun son choix....
    Cela dépend aussi de sa conception des choses.

  17. #37
    Membre expérimenté

    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
    Points : 1 679
    Points
    1 679
    Par défaut
    Citation Envoyé par Yno
    .. et après les API s'adaptent au driver et c'est bon non ? "OpenGL est implémenté au niveau hardware" veut dire pour moi "Les constructeurs ont adapté leurs architectures pour coller à X ou Y API" et ça ne veut rien dire implémenter une API dans un GPU, c'est l'API qui s'adapte au driver... ou alors j'ai véritablement loupé un épisode.
    il y a de tout:
    - les constructeurs adaptent leur matériel pour les APIs.
    - les APIs s'adaptent au matériel.
    - les APIs s'adaptent aux drivers.
    - les drivers s'adaptent au matériel.
    - les drivers s'adaptent à l'API.

    Bien entendu il y a une certaine latence (entre la première révision de l'API il y a vingt ans et l'apparition des hardwares modernes de cette année) et des décisions "politiques" qui font que ça n'est pas toujours aussi idéal que ça. Mais au moins c'est la motivation qui sous-tend tout de meme une bonne partie des décisions qui ont trait aux APIs, aux drivers et aux hardwares.

    LeGreg

  18. #38
    Membre expérimenté

    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
    Points : 1 679
    Points
    1 679
    Par défaut
    Citation Envoyé par Ti-R
    OpenGL est moins bien intégré à Windows que Direct3D, donc adieu le compositing de fenêtre transparente au dessus de son application OpenGL.
    Aux dernières nouvelles ils sont tous les deux aussi bien (ou mal) intégré à Windows. Ils ont juste des philosophies différentes.

    OpenGL dans une fenetre transparent marche parfaitement bien :
    http://www.opengl.org/img/uploads/pi...nabled-800.jpg
    source :
    http://www.opengl.org/pipeline/article/vol003_7/

    Bon pour ce qui est de ce que les développeurs préfèrent :
    - les développeurs professionnels de jeu sur ordinateur personnel (PC) sont désormais à 99% sous Direct3D. (d3d9 puis bientot d3d10). Ceci dit le choix de l'API est à la fois limitant et indifférent. Limitant parce que les raisons de choisir l'un ou l'autre semblent disjoints et incompatibles, les plateformes supportés ne sont pas les mêmes, les méthodes de travail et la vitesse d'adoption des features diffèrent. Mais souvent indifférent parce que les jeux qui poussent les APIs, le font de manière controllée. Parce que bien souvent les jeux sortent sur plusieurs plateformes, l'une ne supportant que d3d (xbox/xbox360), les autres ne supportant que OpenGL ou proche (ps3, gamecube, mac, linux) et donc le travail d'adaptation se doit d'être rodé et "invisible". Et donc au final on se retrouve avec un choix d'API quasi indifférent. Une bonne partie des ressources est utilisé pour que ce soit le cas ce qui explique que ce n'est pas forcément abordable pour les amateurs (il n'y a pas de revenu qui sert à justifier le temps passé supplémentaire). Ceci dit je crois qu'on peut dire que pour la plupart d'entre eux, D3D est l'API la plus clean et la plus proche de ce que peut faire le hardware moderne (encore plus vrai avec D3D10). Les gens ne développant que sous Windows, ne se posent généralement pas la question et font le choix de Direct3d meme si les deux APIs sont disponibles.

    - les développeurs d'application professionnelles (CAD, DCC, etc) sont plutot sous OpenGL. Mais là le choix n'est pas forcément indifférent, meme s'ils sont de plus en plus nombreux à tester une implémentation D3D (s'ils n'en ont pas déjà une). L'inertie pour ces applications est très forte. Là ou un dév de jeu va réécrire tout son code graphique entre deux jeux (pour caricaturer), le dev d'appli professionnelle fait le choix de ne rajouter que sur l'existant. Comme ils ont démarré à une époque ou D3D n'existait pas ou était encore une blague, ils ont tendance à vouloir rester sous OpenGL pour conserver leur code et s'il leur arrive de passer sous D3D, ils conservent tous leurs idiomes OGL qui fait une très mauvaise utilisation de DirectX. Ils aiment aussi l'attention que leurs portent les constructeurs de carte (Nvidia avec sa gamme Quadro par exemple). Le système d'extension d'OGL permet d'avoir des features spécifiques étudiées pour un type d'application (genlock, rendu multithreadé, vue distribuée sur plusieurs écrans etc..), chose impossible ou plus compliquée sous direct3d. L'attention porte aussi sur la stabilité. Microsoft va certifier WHQL les drivers mais avec des tests synthétiques maisons qui ne vont pas toucher/couvrir un vendeur de soft en particulier. Les fabricants de cartes graphiques ont une bonne partie de leur revenus drainés par les cartes professionnelles donc ont intéret à faire certifier leurs nouveaux drivers (OpenGL) pour une application en particulier (mais sans garantie pour votre application à vous).

    En terme de philosophie elle-meme, on dira que d3d est défini strictement ("voici la liste finie des choses que vous pouvez faire") et garantit une certaine vitesse, un peu comme le langage C. OGL est très virtualisé et autorise tout avec tout ("tant que ce n'est pas interdit alors ça doit être autorisé") meme si au final c'est lent (parce qu'émulé en software). Bien entendu comme on aime les jeux temps réel, on évite les parties lentes d'OpenGL et donc cette différence de philosophie n'est un problème que pour le programmeur inattentif. De plus ça ne dit rien de leur vitesse relative puisque dans beaucoup de scénarios OGL est plus rapide que D3D à charge de travail égal (tout du moins sur XP.. sous Vista c'est un peu différent).

    Désolé pour ce post un peu long..

    LeGreg

  19. #39
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Aux dernières nouvelles ils sont tous les deux aussi bien (ou mal) intégré à Windows. Ils ont juste des philosophies différentes.
    Sous Vista peut être je n'ai pas encore fait le "saut", mais sous XP, là certainement pas, le problème sous XP étant de faire passer une fenêtre transparente au dessus d'une fenêtre OpenGL. Impossible en OpenGL (sans perte de performance très importante, en passant pas GDI), alors que c'est possible en Direct3D lié avec l'environnement.

  20. #40
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    Bah il y a quelques petits défaut...

Discussions similaires

  1. Animations sans openGL et DirectX
    Par halic dans le forum C#
    Réponses: 2
    Dernier message: 19/02/2007, 11h54
  2. [c#] OpenGl ou DirectX
    Par elguignardo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 22/05/2006, 15h08
  3. Réponses: 10
    Dernier message: 13/04/2006, 15h54
  4. 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
  5. 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