[DirectX] Petit projet pour DirectX

Le côté programmation du développement d'un jeu vidéo.

Petit projet pour DirectX

Messagepar blitzfan » 08 Sep 2007, 08:51

Bon, allez, je me lance, après un petit post de MorpheusDX sur developpez.net, j'ecris ce petit post ici pour
vous parler de notre petit projet.

Oh, rien de super nouveau-innovant, mais c'est notre premier vrai truc, avec notre premier petit
site, donc en meme temps cela nous permet d'apprendre plein de choses...

J'ai débuté avec DirectX il y a quelques mois, et DX9Engine (c'est le nom de ce projet) en
est le fruit. Passionné de prog 3D, je bidouille avec l'API de Microsoft donc depuis quelques temps.
Au fil du temps, j'ai donc ecris un certains nombres de classes qui me facilite grandement la mise
en oeuvre de DirectX, surtout au niveau 3D (pour le moment). Ces classes sont le resultat d'un travail
personnel (pour 60% environ) ainsi que celui de l'apprentissage d'autres codes (merci a TMyke d'ailleurs
en passant pour son aide, Dreamotion m'ayant beaucoups inspiré sur certains points).

Qu'est donc DX9Engine
DX9Engine n'est pas a proprement parlé un moteur graphique (un de plus dirait certains). Comme rapidement
decrit plus haut, il s'agit en fait plus d'une surcouche de l'API, facilitant la mise en oeuvre des
fondamentaux de la 3D à travers DirectX. Il s'agit donc d'un ensemble de classes, simples et pratiques
(du moins je l'espère), facilitant la mise en oeuvre des éléments liés à la 3D de bases, tout en gardant
une programmation bas niveau DirectX. DX9Engine se présente sous la forme d'une DLL, dont les sources
sont fournis (C/C++).


Les domaines couvert pour le moment sont essentielement:

- les textures,
- les materials,
- la gestion des camera,
- les lights,
- les mesh (creation, import - x et 3DS-)
- les fonctions 2D (primitives, images, sprites)
- quelques fonctions utiles (picking sur les mesh par exemple)

domaines couverts prochainements

- import static ms3d, b3d,
- DirectInput (clavier - souris)
- moteur de particules (CParticleEmiter, CParticle),
- moteur de terrain (CHeightMap, CTerrain),
- animations des mesh,
- collision,
- physique de base,
- Octree,
- etc...


que contient le package:

comme la plupart du temps dans ce genre de package, on trouve 4 repertoires de bases:

la Doc
Il s'agit d'un premier jet, qui commente l'ensemble des fonctions et classes du moment.
Tout cela se trouve donc dans le repertoire Doc, format html. Désolé, c'est en anglais.
Généré par Doxygen.


le SDK
la base du SDK, avec les trois grandes cathegories que sont les DLL, les lib et les includes,
les repertoires contenant tout ce qui touche à DX9Engine, mais aussi les éléments de base pour
la mise en oeuvre même de DirectX (version April 2006). Avec cela vous pourrez programmer sans
soucis DX et son aide qu'est DX9E.


le code source
le repertoire 'source' contient donc l'ensemble du code source de la DLL, avec toutes les
fonctions et classes actuelles. Il s'agit d'un projet OpenSource, donc si vous améliorez,
modifez ou ajoutez, n'hesiter pas à en faire part, le site possède un forum ou il sera
facile d'en discuter.


les tuto
comme tout bon package qui se respecte, vous trouverez un ensemble d'exemple (11 pour l'instant).
L'objectif n'est pas d'en mettre plein la vue (j'en serais d'ailleurs bien incapable), mais de
montrer l'emploi des principales classes et fonctions à travers des exemples simples et lisibles,
accéssible y compris pour les plus profannes.



conclusion
si vous etes passionné de programmation 3D et ce à travers DirectX, alors n'hesitez pas, essayez.
C'est un projet ouvert, dont le seul objectif est de se faire plaisir entre passionnés...

Tous les code du package ont été écris et mis au point à l'aide de VisualC++ 2005, mais ont aussi
été testés sans pb avec VC7.1, CodeBlock (VC Tool kit 2003).


lien direct vers le pack: http://www.dx9engine.org/_download/package.zip

lien vers le site: http://www.dx9engine.org tout simplement....


;)
blitzfan
Hello World, I'm new !
 
Messages: 8
Inscription: 28 Aoû 2007, 17:49

Retourner vers Programmation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 31 invités

cron