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 :

Début de mini moteur 2d


Sujet :

DirectX

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Début de mini moteur 2d
    Bonjour,

    Histoire d'en apprendre sur DirectX, je suis en train de codrr un mini moteur 2d. J'ai actuellement codé la classe d'application, et le rendu de texte, et j'aimerais votre avis sur ce que j'ai codé, entre autre si j'ai fais des choses à ne pas faire, ou que j'en ai oublié.

    Accessoirement, le code est très propre (dans le sens aéré) et commenté, donc il peut intéresser toute personne voulant voir comment initialiser d3d ou afficher très facilement du texte.

    ça se dl ici:
    http://darkmaster.sp.free.fr/prog/dx9/2dSimpleEngine_2.zip

    ps: merci à Loulou pour ses tutos de moteur 3d, je lui piqué son système de log :p

    edit: ui, je sais, le principe de calcul de fps est buggué, il faut que je passe aux PerformanceCounter, mais sur un athlon 2400+/radeon 9200/512 de ram, fraps me donne 600fps en fenêtré, et 1000 en plein écran.

    edit2: je viens de réaliser que je me suis planté d'endroit pour la pompe à messages windows, en réalité elle devrait être dans CApp::MainAppLoop, mais bon, ça reste une défaut cosmétique que je vais corriger d'ici peu

    edit3: j'en finis pas d'éditer moi, je rajoute que le projet est en C++, donc Dx unmanaged, sous VisualStudio.NET 2003.

  2. #2
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Salut. J'ai regardé un peu ton code c'est un très bon début.

    Si je peux me permettre de te donner un conseil regarde la classe qui se trouve dans le fichier d3dapp.h ainsi que le .cpp associé (d3dapp.cpp) du SDK de directX (la version pour les développeurs C++). Il y a une énorme gestion des paramètres de la carte graphique présente sur le système qui exécute le programme. Ca permet d'avoir un programme portable sur différents PC. En effet avant d'exécuter le programme cette classe énumère toutes les propriétés du matériel et choisi ce qui sera le mieux adapté. Elle permet aussi de gérer la perte de device, le mode plein écran, le changement de résolution, etc... Tu peux la modifier à souhait, l'alléger, l'adapter à ton programme. Elle utilise d'autres fichiers comme d3denumeration et d3dsettings.

    Voilà bon code.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Merci du conseil, c'est justement une partie que je doit étoffer, pour ne pas avoir de probs' de compatibilité.
    Je vais aussi jeter un coup d'oeil aux sources d'Ogre.

  4. #4
    Membre régulier
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Points : 115
    Points
    115
    Par défaut
    Voila qui ressemble fort aux concepts de base de SxDL
    Laurent -- http://jeux-directx.com/

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Bah ressembler, ressembler... Effectivement, j'utilise pas mal le polymorphisme, mais ça, c'est du bête cpp...
    Mais tu n'y retrouve ni d3dfont (pourquoi se compliquer la vie aors que tout fonction au poil avec l'interface ID3DXFONT ?), ni l'application wizard (beurk quelle usine à gaz !)
    De tte manière, je code ça pour apprendre, si c'est pour bêtement copier....

  6. #6
    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 : 39
    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
    pourquoi se compliquer la vie aors que tout fonction au poil avec l'interface ID3DXFONT ?
    Parce que c'est lent ? ID3DXFONT utilise le GDI, alors que CD3DFont utilise des font bitmap.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Mhhh et qu'elle est la différence de perf ? ça m'interresserait fortement, sans ironie aucune.

    Mais alors, je suppose qu'il ne faut pas non plus utiliser les interfaces ID3DXSPRITE, ID3DXMESH et autres joyeusetés que je trouvais super pratique... si ?

    Mais si j'utilise CD3DFont, ça ne m'oblige pas à utiliser l'application wizard ?

    Nico "veut apprendre !"

  8. #8
    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 : 39
    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
    Personnellement je n'ai jamais utilisé une seule de ces classes, je ne pourrais donc te dire que ce que j'ai entendu sur les forums & cie. Enfin j'avais tout de même essayé ID3DXFONT à l'époque, et franchement les performances sont horribles dès que tu veux afficher beaucoup de texte. A éviter donc si ce n'est pas juste pour afficher le framerate. CD3DFont par contre est très performante, tu peux l'utiliser sans souci. Enfin tu peux aussi coder ta propre classe, c'est un bon exercice .

    ID3DXSPRITE et ID3DXMESH sont optimisées niveau performances, je pense que tu peux les utiliser aussi sans souci.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Ah ok. J'en profite pour poser une autre question, est-ce que les ID3DXSPRITE et ID3DXSMESH permettent tout ce que propose d3d, comme le multitexturing, les shaders, etc...

    Et aussi, ces interfaces sont-elles utilisées par les pros (cela m'étonnerait très fortement, n'empêche que si ce n'est pas le cas, pourquoi ont-elles été intégrée à directx)

Discussions similaires

  1. [AC-2003] mini moteur de recherche
    Par Fg9242 dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/04/2013, 13h49
  2. Mini Moteur de recherche
    Par java2dev dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 16/01/2011, 00h09
  3. [MySQL] mini moteur de recherche
    Par supupoff dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 31/05/2010, 15h30
  4. [MySQL] Mini moteur de recherche
    Par ginger4957 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/05/2009, 19h56

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