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

Delphi Discussion :

Animation 3D Direct3D ou OpenGL


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Ludo_360
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 295
    Par défaut Animation 3D Direct3D ou OpenGL
    Bonjour, je cherche de bons tutos sur l'utilisation de DirectX sous Delphi (pas DelphiX qui ne marche qu'avec les versions 3, 4 et 5 voire la 6 avec bidouille) , je n'ai pas trouvé grand chose sur la faq.
    Je me pose aussi beaucoup de questions quant à l'utilisation de DirectX ou d'OpenGL. Je veux programmer mes animations et objets 3D, et je me rends compte qu'il serait beaucoup plus rapide d'utiliser des bibliothèques de modèles 3D et d'effets (rotations, le feux) avec GLScene par exemple. Mais là on n'est plus dans la programmation 3D ... si? J'ai réalisé de petites animations 3D avec GLScene et un minimum de lignes de commandes pour le résultat obtenu, c'est grisant mais ce n'est pas mon objectif.
    OpenGL se compare à Direct3D, mais je ne vois pas tellement la différence (peut-être que OpenGL est plus simple d'utilisation, mais DirectX a l'air plus précis (choix carte graphique, mode d'affichage etc...)).

    Voilà, je voulais demander l'avis de personnes ayant expérimenté l'un des deux voire les deux, et surtout des conseils pour commencer vraiment la prog 3D. L'objectif ultime est bien entendu la réalisation d'un jeu ( expérience unique!!! j'y arriverai! =) )

    merci

    ludo

  2. #2
    Membre éclairé
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Par défaut
    Salut à toi,

    Je me suis retrouvé confronté un peu à la même situation que toi il y a peu : dans un cadre scolaire on devait réaliser un projet et nous nous étions orienté vers un jeu 3D. S'est alors posé la question de OpenGL ou DirectX ... En ce qui nous concerne le choix a été rapide à cause du cahier des charges qui nous imposait que le projet fonctionne sous Linux => OpenGL oblige.

    Il n'aurait s'agit que de nous, on n'aurait très certainement choisit DirectX tout simplement parce qu'on le connaissait un peu plus. De ce fait ayant testé un peu les deux, ce que moi je peux en penser c'est que sur certains points c'est vrai DirectX est plus précis, certaines fonctions sont plus "évoluées" et surtout : il est utilisé dans la majorité des jeux actuels (consoles compris) donc selon moi survivra dans le futur.
    OpenGl quant à lui, comme son nom l'indique il est en Open. L'avantage c'est que si quelque chose ne marche pas spécialement comme tu le souhaite ou si tu ne comprends pas comment fonctionne une procédure, un coup d'oeil dans le source est c'est du tout cuit.


    Une chose est sûr : si tu te débrouille bien avec DirectX la transition vers OpenGL ne sera pas trop difficile (au cas ou ça devrait t'arriver) l'inverse je ne sais pas.

    En ce qui concerne GLScene, Asphyre et tous les composants que tu pourrait trouver. Au final il s'agit bien de 3D bien sûr sauf que tu passes par des bibliothèques qui te simplifient énormément les choses, elles t'évitent en gros de te créer ton propre moteur 3D.
    Cela dit je ne te dévoilerais rien en te disant qu'il est plus intéressant de partir de rien et de tout s'implémenter soit même. C'est du boulot certes mais bien plus instructif et plaisant personnellement.


    Bref tout ça pour au final : DirectX ou OpenGL, à l'heure actuelle dans ta situation moi j'aurais choisit DirectX, seulement d'autres derrière te diront OpenGL et ils n'auront pas tort.

    Le hic avec la 3D cependant : c'est l'aide. DirectX ou OpenGL c'est difficile d'en trouver. Pour DirectX tu as le SDK sinon après -> Google is your friend (DirectX ou OpenGL). C'est souvent en C mais tu t'y retrouveras facilement ... (suffit juste de trouver les fonctions propres aux bibliothèques)


    Bon courage car la route est longue

  3. #3
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Citation Envoyé par Bleys
    En ce qui concerne GLScene, Asphyre et tous les composants que tu pourrait trouver. Au final il s'agit bien de 3D bien sûr sauf que tu passes par des bibliothèques qui te simplifient énormément les choses, elles t'évitent en gros de te créer ton propre moteur 3D.
    Je me le demande. Quand j'ai voulu me remettre à la 3D, j'ai regardé GLScene, et j'ai trouvé ça très compliqué. Comme un nouveau langage à apprendre.

    Citation Envoyé par Bleys
    Cela dit je ne te dévoilerais rien en te disant qu'il est plus intéressant de partir de rien et de tout s'implémenter soit même. C'est du boulot certes mais bien plus instructif et plaisant personnellement.
    C'est aussi pour cette raison que j'ai préféré faire de l'OpenGL directement.

    Citation Envoyé par Bleys
    Le hic avec la 3D cependant : c'est l'aide. DirectX ou OpenGL c'est difficile d'en trouver.
    http://nehe.gamedev.net/lesson.asp?index=01

    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  4. #4
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par Lung
    Je me le demande. Quand j'ai voulu me remettre à la 3D, j'ai regardé GLScene, et j'ai trouvé ça très compliqué. Comme un nouveau langage à apprendre.


    C'est aussi pour cette raison que j'ai préféré faire de l'OpenGL directement.


    http://nehe.gamedev.net/lesson.asp?index=01

    je suis d'accord avec toi

    si on utilise un moteur 3D, autant en prendre un qui cache l'API utilisée, il y en a même qui sont compatibles DirectX et OpenGL

    GLScene, c'est une pléthore d'objets à comprendre sur un couche OpenGL pourtant très simple...mais il y a des tas d'objets intéressants (attention cependant les changements de versions ne se font pas sans mal)

    DirectX c'est aussi une pléthore d'objets COM à assimiler avant de faire quoi que ce soit (enfin jusque DirectX 8, après j'ai plus suivi).

    Avec OpenGL tu peux très rapidement faire de la 3D dans une API stable, simple et efficace...mais ça demande du boulot pour faire un moteur complet

    Un autre avantage d'OpenGL sur DirectX, c'est que l'API est en C, les codes C et Delphi sont quasiment identiques
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     glBegin(GL_TRIANGLES);
      glVertex3f(0.0,0.0,0.0);
      glVertex3f(1.0,0.0,0.0);
      glVertex3f(1.0,1.0,0.0);
     glEnd();
    // bien malin celui qui dira si c'est du C ou du Pascal :)
    voir l'excellent site sulaco
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre éclairé Avatar de Ludo_360
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 295
    Par défaut
    Je ne sais pas à quel niveau vous avez élevé vos applications 3D, mais moi, à mon pti niveau j'ai trouvé que GLScene est plutôt rapide à prendre en mains...

    En tout cas merci pour toutes ces réponses et ces docs!! Et à vous écouter je m'aperçois que je ne m'était pas trompé en pensant qu'il y a du boulot avant d'arriver à quelque chose de "correct".

    Ludo

  6. #6
    Membre éclairé Avatar de Ludo_360
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 295
    Par défaut
    Quelqu'un connait til rage3D?? J'arrive pas très bien à comprendre ce qu'il est vraiment : moteur 3D ultra performant? (d'après les screen shoot)? Pour l'instant je l'utilise avec un framework de base (affichage d'une fenetre rattaché OpenGL). Quelques lignes de commandes et j'ai un objet 3D qui se situe dans un "environnement 3D".. C'est en fait un cube avec les 6 images qui sont les différents fonts... (sol, ciel, face, derrière, droite, gauche...)


    ludo

Discussions similaires

  1. Animations sans openGL et DirectX
    Par halic dans le forum C#
    Réponses: 2
    Dernier message: 19/02/2007, 11h54
  2. Réponses: 1
    Dernier message: 09/02/2007, 09h23
  3. bruitage wav de moteur ds animation/OpenGL / VCL
    Par LotfiB dans le forum C++Builder
    Réponses: 1
    Dernier message: 08/12/2005, 13h11
  4. Comment animer sous opengl ?
    Par AsmCode dans le forum OpenGL
    Réponses: 4
    Dernier message: 17/10/2005, 12h32
  5. Direct8X/Direct3D sous VB6, probleme de récup d'animations
    Par John Blobsmith dans le forum DirectX
    Réponses: 3
    Dernier message: 28/04/2004, 10h32

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