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

Moteurs 3D Discussion :

Moteur 3D ou DirectX


Sujet :

Moteurs 3D

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 58
    Points : 44
    Points
    44
    Par défaut Moteur 3D ou DirectX
    Salut !
    Je m'intéresse à la programmation de jeux et je suis en train d'apprendre le DirectX.
    J'ai vu que DirectX faisait pas mal de choses : notamment pour représenter des univers 3D en les projetant directement en donnant quelques paramètres à une "caméra" fictive alors que je pensais que DirectX n'était qu'une base (dessiner dans une fenêtre en donnant les couleurs de chaque pixel), ce qui justifiait la programmation de moteurs 3D par souci de simplicité.

    Je voudrais donc savoir quel est l'intérêt de moteurs 3D comme Ogre alors que DirectX en est déjà un très bon. Qu'ont-ils de plus ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 117
    Points : 76
    Points
    76
    Par défaut
    Ogre est un moteur graphique alors que Direct3D (composant graphique de DirectX) est une API. Une API offre les fonctionalités de base, elle permet par exemple d'afficher quelque chose (donc d'opérer sur les pixels) sans avoir à aller chipoter directement dans la mémoire avec par exemple de l'ASM (ce n'est evidemment qu'une infime partie de ce que peut faire Direct3D). Le moteur quant à lui, utilise les commandes des API pour pouvoir faire des choses plus facilement, et plus évoluées, par exemple faire des transformations, sans avoir à utiliser directement des matrices ou des quaternions (en fait ce sont les fonctions du moteur qui s'en chargent).

    De plus, un moteur tel que Ogre peut utiliser différentes API graphiques, au choix de l'utilisateur (par exemple Direct3D et OpenGl).

    Voilà en gros résumé la différence entre les deux.

  3. #3
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 369
    Points : 40 164
    Points
    40 164
    Par défaut
    le moteur rajoute une couche d'abstraction supplémentaire par rapport à DirectX. Il gère de manière intelligente tous les objets de ta scène (sous forme d'arbre généralement), il permet de manipuler directement des objets décrits dans des formats 3D (3ds, x...), il permet de manipuler directement des images sous plusieurs formats.

    Un moteur ne gère pas forcément tous ces formats mais ça se retrouve très souvent.

    Bref, il s'occupe de tout pour que tu n'aies plus à manipuler directement DirectX (ou OpenGL)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 82
    Points : 71
    Points
    71
    Par défaut
    Partir sur DirectX seul, signifie développer sa propre gestion de scene. Cela represente plusieurs mois de développement selon la niveau de complexité de la 3D que tu veux rendre à l 'écran. Maintenant, ce développement là est trés intéressant, mais suppose de se former aux différentes techniques et optimisations du domaine (la FAQ 3D developpez en donne un appercu).

    X.

  5. #5
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 58
    Points : 44
    Points
    44
    Par défaut
    Ok merci pour vos réponses mais j'ai quand même l'impression que DirectX est plus qu'une API de base.
    Par exemple, elle effectue toutes les projections, rotations,..., certes, à l'aide de matrices mais on ne s'en occupe même pas et on n'a même pas besoin de savoir ce qui est écrit dedans, on ne fait que la passer en paramètres sans arrêt.
    De la même manière, une fois les objets 3D modélisés, DirectX se charge des projections 2D (une fois que l'on a correctement situé la caméra), et ne nous laisse même pas les réaliser nous même alors que je considère ceci comme une des étapes les plus importantes.

    Pouvez vous me donner donc des exemples de fonctions d'Ogre ou d'un autre moteur 3D que DirectX ne peut pas faire directement ?

  6. #6
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Citation Envoyé par koushkov
    Pouvez vous me donner donc des exemples de fonctions d'Ogre ou d'un autre moteur 3D que DirectX ne peut pas faire directement ?
    Euh... à mon avis, il ne faut pas voir le problème de ce point de vue-là...

    Imagine que tu veuilles changer les pneus sur ta voiture... deux solutions:
    1. soit tu les changes toi-même, si tu es un bon mécano, que tu as le temps, les outils, les pneus...
    2. soit tu l'amènes au garagiste et tu lui dis qu'il faut changer les pneus et tu va boire une bière devant le match en attendant.
    La solution 1, c'est DirectX
    La solution 2, c'est Ogre

    Tu peux faire tout ce qui est dans Ogre à partir de DirectX, vu qu'Ogre est un niveau d'abstraction au-dessus de DirectX (ce qui veut dire qu'il s'appuie sur DirectX, qu'il utilise DirectX), mais ça sera plus laborieux à faire dans DirectX.
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  7. #7
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 58
    Points : 44
    Points
    44
    Par défaut
    Ok merci pour la réponse donc je pense que j'utiliserai directement DirectX mais avant je vais regarder Ogre pour me donner des idées sur ce à quoi je dois penser.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Moteur 3D - DirectX
    Par wokky dans le forum Moteurs 3D
    Réponses: 16
    Dernier message: 21/03/2010, 15h24
  2. Réponses: 24
    Dernier message: 02/11/2009, 19h55
  3. Réponses: 0
    Dernier message: 24/10/2009, 13h17
  4. Moteur physique en Delphi utilisant DirectX
    Par epita2013 dans le forum Physique
    Réponses: 4
    Dernier message: 23/02/2009, 15h23
  5. [3D]Moteur de raytracing sans les bibliothèques type DirectX, que puis-je utiliser?
    Par cladsam dans le forum Développement 2D, 3D et Jeux
    Réponses: 8
    Dernier message: 21/04/2006, 17h28

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