[D3D] Où trouver un tutorial?

Où trouver un tutorial? [D3D] - C++ - Programmation

Marsh Posté le 21-05-2003 à 17:29:22    

Salut,
 
Je dispose de bonnes connaissances en C/C++ (expérience inside). Je me débrouille plus ou moins en Visual C++ (Tutoial Inside + quelques petits programmes).
 
Je voudrais now m'attaquer à DirectX (et surtout Direct3D).
 
Pour ceci, j'aurais besoin de votre aide. J'aimerais trouver un bon tutorial (français ou anglais, peu importe), ou alors, pourquoi pas, un site avec des ressources sympa, où je pourrais trouver de quoi m'amuser !
 
Bien sur, j'aimerais commencer par un tutorial, mais bon, je prendrai ce que je trouve!
 
Merci beaucoup ;)
 
Yoyo*
 
PS : OpenGL m'aurait plu aussi, mais je pense que c'est un poil plus compliqué??


---------------
It's nice to be important, but it's more important to be nice
Reply

Marsh Posté le 21-05-2003 à 17:29:22   

Reply

Marsh Posté le 21-05-2003 à 17:39:12    

OpenGL plus simple que DirectX (3D)
 
Sinon ici
http://www.gamedev.net/
http://www.gdse.com/servlet/gdse.main

Reply

Marsh Posté le 21-05-2003 à 17:41:49    

Yoyo@ a écrit :

Salut,
 
Je dispose de bonnes connaissances en C/C++ (expérience inside). Je me débrouille plus ou moins en Visual C++ (Tutoial Inside + quelques petits programmes).
 
Je voudrais now m'attaquer à DirectX (et surtout Direct3D).
 
Pour ceci, j'aurais besoin de votre aide. J'aimerais trouver un bon tutorial (français ou anglais, peu importe), ou alors, pourquoi pas, un site avec des ressources sympa, où je pourrais trouver de quoi m'amuser !
 
Bien sur, j'aimerais commencer par un tutorial, mais bon, je prendrai ce que je trouve!
 
Merci beaucoup ;)
 
Yoyo*
 
PS : OpenGL m'aurait plu aussi, mais je pense que c'est un poil plus compliqué??


 
tu as nexe.gamedev.net
Sinon tu explores les exemples de DX qui sont très bien faits.
PS : evite OpenGL, c'est une API de grand père totalement dépassée par D3D (DX est orienté objet, support déjà intégré des PixelShader et VertexShader 3.0, langage de haut niveau pour programmer le GPU etc...)
 
edit:  
http://www.gamedev.net/reference/l [...] yid=24#129
réunit pas mal de topics interessant
 
edit2: un truc vital : précipite toi sur l'interface ID3DXEffect, ça te simplifie la conception du moteur x10
Tu as un exemple à ce propos dans les tuto qui est très instructif.


Message édité par Tetragrammaton IHVH le 21-05-2003 à 17:50:03

---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 21-05-2003 à 19:30:45    

Tetragrammaton IHVH a écrit :


 
tu as nexe.gamedev.net
Sinon tu explores les exemples de DX qui sont très bien faits.
PS : evite OpenGL, c'est une API de grand père totalement dépassée par D3D (DX est orienté objet, support déjà intégré des PixelShader et VertexShader 3.0, langage de haut niveau pour programmer le GPU etc...)
 
edit:  
http://www.gamedev.net/reference/l [...] yid=24#129
réunit pas mal de topics interessant
 
edit2: un truc vital : précipite toi sur l'interface ID3DXEffect, ça te simplifie la conception du moteur x10
Tu as un exemple à ce propos dans les tuto qui est très instructif.


 
[:rofl]
 
Ce qu'il faut pas lire...
--> Regarde un peu le moteur de Serious Sam 1&2 (il est fait avec une api dépassé).
--> Les effets spéciaux de films.


Message édité par kfman le 21-05-2003 à 19:34:02
Reply

Marsh Posté le 21-05-2003 à 19:40:08    

Merci pour vos réponses, j'ai noté et un peu visité tous vos liens !
 
A vrai dire, je me sens un peu perdu, et j'espérais trouver un bon tutorial m'introduisant tout ça, mais à la place, je me retrouve avec des millions d'articles ! Ca pourra sans doute me servir par la suite !
 
Pour le moment, je ense que le mieux que j'ai à faire (à moins que quelqu'un me trouve un "tutorial" magique) est d'aller me ballader sur e site de Microsoft)
 
Concernant OpenGL, je ne pense pas que ce soit une API de grand père, loin de là! Mais je préfère m'atteler à Direct3D, comme ca, je m'habituerait plus au concept général, et aurait moins de mal lorsque par exemple, je voudrait tpucher d'autres domaines, tels que Direct Music, ou autres (memes conventions et esprit je pense)
 
Voilà,
 
Toutes vos autres suggestions sont les bienvenues !
 
Yoyo*
 
PS : Je dispose de VC++6. JHe suppose qu'il faut que je télécharge une Doc ainsi que les interfaces DirectX9, nan? Je peux trouver ça ou?


Message édité par Yoyo@ le 21-05-2003 à 19:41:01

---------------
It's nice to be important, but it's more important to be nice
Reply

Marsh Posté le 21-05-2003 à 20:12:14    

kfman a écrit :


 
[:rofl]
 
Ce qu'il faut pas lire...
-> Les effets spéciaux de films.


 
 :lol:  :lol:  :lol:  :lol:  :lol:


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 21-05-2003 à 20:14:13    

tt pas au courant blaireau ?
 
http://www.wondertouch.com/default.asp
 
http://www.sgi.com/newsroom/press_ [...] iapro.html


Message édité par kfman le 21-05-2003 à 20:18:49
Reply

Marsh Posté le 21-05-2003 à 20:18:38    


 
quoted, espèce de malotru  :sarcastic:  
C'est pas un newb dans ton genre qui confond modélisation (en opengl) et rendu sous un logiciel de 3D qui va m'apprendre qqc :lol:


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 21-05-2003 à 20:26:14    

Qui te parle de modélisation ou de rendu ?
 
Il est clairement expliqué dans le descriptif qu'OpenGL sert dans le logiciel pour le rendu.
Ne dit pas que c une api de grand père car je ne pense qu'on utilise autant D3D qu'OGL dans le milieu graphique professionnel.
 
OGL est une api libre, doté de bcp d'extensions et les nouveautés sont facilement ajoutables par de nouvelles extensions.
Franchement je pense que tu trolle...

Reply

Marsh Posté le 21-05-2003 à 21:08:31    

Yoyo@ a écrit :

PS : Je dispose de VC++6. JHe suppose qu'il faut que je télécharge une Doc ainsi que les interfaces DirectX9, nan? Je peux trouver ça ou?


 
Il te faut alors pour DirectX le SDK (le 9 tant qu'a faire). Il est telechargeable chez microsoft et tu y trouveras aussi pas mal de doc en plus de celle fournie ds le SDK (il fait 170 Mo)

Reply

Marsh Posté le 21-05-2003 à 21:08:31   

Reply

Marsh Posté le 21-05-2003 à 21:20:37    

Yoyo@ sinon quand mm y a sur gamedev pas mal de tutoriaux du as pas du faire gaffe ou passee trop rapidement ;)
 
http://www.gamedev.net/reference/l [...] egoryid=24

Reply

Marsh Posté le 21-05-2003 à 21:21:16    

kfman a écrit :

Qui te parle de modélisation ou de rendu ?
 
Il est clairement expliqué dans le descriptif qu'OpenGL sert dans le logiciel pour le rendu.
Ne dit pas que c une api de grand père car je ne pense qu'on utilise autant D3D qu'OGL dans le milieu graphique professionnel.
 
OGL est une api libre, doté de bcp d'extensions et les nouveautés sont facilement ajoutables par de nouvelles extensions.
Franchement je pense que tu trolle...
 


 
STOOOOOOOOOOOOOOOOOOOOOOOOP !
 
Vous êtes ici sur mon topic, alors please, revenons en au sujet inital : par où commencer?
 
Yoyo*
 
PS : Je suis 100% convaincu que Open GL n'est pas une API de grand pere, mais je suis également 100% convaincu que je veux pour le moment faire du D3D !


---------------
It's nice to be important, but it's more important to be nice
Reply

Marsh Posté le 22-05-2003 à 00:36:06    

Zut, ils sont tous partis  :cry:  :cry:


---------------
It's nice to be important, but it's more important to be nice
Reply

Marsh Posté le 22-05-2003 à 10:38:28    


 
ban :O
(simplicite trompeuse)
(tant pis si je tombe dans le troll et si je suis grillaid)

Reply

Marsh Posté le 22-05-2003 à 10:47:22    

briseparpaing a écrit :

Et moi je suis 100% convaincu que tu devrais commencer par OpenGL, qui est bien plus simple et plus didactique dans son approche que l'usine à gaz de Microsoft.  :D  
 
Tu auras toujours le temps de passer à Direct X après, ce ne sera pas du temps "perdu".
 :D  


 
bon, je vais tacher de repondre serieusement.
OpenGL semble simple au premier abord. Init facile, on balance tres rapidement deux triangles a l'ecran, voir un cube avec glut. en deux lignes de code ca fonctionne et donc, effectivement ca semble simple.
 
Mais tout ceci, c'est du vent.
 
DirectX est un peu plus lourd a mettre en oeuvre car il te pousse autant que possible a utiliser ses objets a lui (vertex buffer (VB), index buffer (IB), dans lesquel on n'ecrit pas n'importe quand) plutot que tes bon vieux tableaux de structures / unsigned short. Et c'est bien. Pourquoi ? Tout simplement parce que ces objets auront leur emplacement memoire reserve par le driver, c'est a dire que ton VB sera mis en memoire video (sur une carte > gf1), et donc les traitements s'en trouve accelere. Oui c'est un tout petit peu plus de code a taper, mais au moins tu utiliseras ta carte de maniere optimale. Pour faire ceci avec openGL tu es oblige de passer par des extensions proprietaire et la, au revoir la simplicite, ca peut devenir tres rapidement l'enfer (juste le nom, extension proprietaire, Eg ATI et nvidia se sont pas forcement mis d'accord, et toi tu te tapes deux code path a faire)
 
DirectX a aussi un autre avantage (que certain verront pe comme un defaut) : il est maintenant par microsoft seul, et de ce fait evolue bpc plus rapidement que qqchose maintenu par un consortium. Il est maintenant livre avec des outils puissant (le HLSL, quand meme un peu devant le cg de nvidia (qui compile comme un merde), et le systeme de fragment est tout a fait interessant). Les DLL de debug sont un bonheur a l'utilisation, te forcant la aussi a faire un code propre et te fournissant moultes indications en cas de probleme
 
Direct n'est pas une usine a gaz, depuis la version 7 au moins, et la 8 en particulier. La doc est tres bien foutue (bemol pour celle du 9, surtout en qui concerne le HLSL, je sais pas ce qu'il leur a pris), et simple d'utilisation. Les tutorials fournis dans la doc montre les bases (affichage de triangle en moins de deux). Par contre eviter d'utiliser le framework des exemples fournis, c vrai que c un peu la misere.
 
Pour finir, a parcourir les forums de ci de la, j'ai l'impression que le couple c#/Dx9 commence a faire des adeptes, liant performance et simplicite d'utilisation
 
Voila, end of blabla
 
 
 
 
 
 
 
 

Reply

Marsh Posté le 22-05-2003 à 11:07:17    

Quand je disait plus simple, effectivement je pensait a plus simple d'utilisation / a mettre en oeuvre au premier abord que DX c tout.
 
Sinon agree Chris

Reply

Marsh Posté le 22-05-2003 à 11:09:48    

chrisbk a écrit :

Il est maintenant livre avec des outils puissant (le HLSL, quand meme un peu devant le cg de nvidia (qui compile comme un merde), et le systeme de fragment est tout a fait interessant).  


Rien ne vaut le codage des shaders direct en assembleur :d
 

chrisbk a écrit :


Par contre eviter d'utiliser le framework des exemples fournis, c vrai que c un peu la misere.


J'ai jamais réussi à le faire fonctionner ce truc :fou:
 

chrisbk a écrit :


Pour finir, a parcourir les forums de ci de la, j'ai l'impression que le couple c#/Dx9 commence a faire des adeptes, liant performance et simplicite d'utilisation


Testé et approuvé ! Franchement, le portage de DX9 sous .NET est du très bon boulot propre et tout et tout ! Un pur bonheur !
Et contrairement à ce qu'on pourrait croire, l'utilisation du CLR ne grève absolument pas les perfs pour la 3D


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 22-05-2003 à 12:45:38    

Harkonnen a écrit :


Rien ne vaut le codage des shaders direct en assembleur :d
 
 
J'ai jamais réussi à le faire fonctionner ce truc :fou:
 
 
Testé et approuvé ! Franchement, le portage de DX9 sous .NET est du très bon boulot propre et tout et tout ! Un pur bonheur !
Et contrairement à ce qu'on pourrait croire, l'utilisation du CLR ne grève absolument pas les perfs pour la 3D


 
Euh, j'utilise VC++ 6... Est ce grave? Ou vais-je etr elimité et/ou j'apprends quelque chose qui ne me servira à rien?
 
Yoyo*


---------------
It's nice to be important, but it's more important to be nice
Reply

Marsh Posté le 22-05-2003 à 12:47:19    

Yoyo@ a écrit :


 
Euh, j'utilise VC++ 6... Est ce grave? Ou vais-je etr elimité et/ou j'apprends quelque chose qui ne me servira à rien?
 
Yoyo*


 
pas du tout, il faisait juste reference a C#, pas a C++
VC6 devrait fonctionner sans pb avec dx9 (enfin, l'inverse)

Reply

Marsh Posté le 22-05-2003 à 13:52:23    

chrisbk a écrit :


 
pas du tout, il faisait juste reference a C#, pas a C++
VC6 devrait fonctionner sans pb avec dx9 (enfin, l'inverse)


 
BON, OK !
 
Conclusion de ce topic, je me lance avec le couple VC++6 + DX9 !
 
J'ai downloadé DX9 SDK !
 
D'autre part, je commence par étudier un peu l'aide de DirectX9 que je trouve dans le SDK (et plus particulièrement celle de Direct3D)!
 
En parallèle, pour avoir un peu de théorie, je lis quelques articles vraiment intéressants sur www.onversity.com  
 
Seulement après, j'envisagerai de me lancer dans des sites tels que ceux que vous m'avez donnés. Mais avant tout, il faut que je comprenne en profondeur comment tout ce petit monde s'anime !
 
Merci beaucoup pour votre aide,
 
@+
 
Yoyo*
 
PS : Si vous avez des suggestions de tutoriaux/articles intéressants que vous avez croisés, je suis toujours preneur !


---------------
It's nice to be important, but it's more important to be nice
Reply

Marsh Posté le 22-05-2003 à 14:00:59    

Yoyo@ a écrit :


 
BON, OK !
 
Conclusion de ce topic, je me lance avec le couple VC++6 + DX9 !
 


 
C'est je ce que j'utilise et ça fonctionne très bien.  
Comme on t'a dit, évite le framework "D3D Application" dans VC++, ça ajoute des centaines de fonctions pour rien. C'est juste bon pour faire des tests.
 
Edit :
Commence par suivre les 5 ou 6 tutorials livrés dans DX9 et qui sont expliqués dans la doc. Ca va te familliariser avec les concepts utiles en 3D temps reel (coord homogène, matrice 4x4, position de la caméra, vertex buffer etc...)
Après, tu pourras comprendre le fonctionnement des différents exemples et utiliser les interfaces qui simplifient la programmation :  
* ID3DXMesh & ID3DXPMesh
* ID3DXEffect


Message édité par Tetragrammaton IHVH le 22-05-2003 à 14:17:41

---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 22-05-2003 à 16:37:51    

Tetragrammaton IHVH a écrit :


 
C'est je ce que j'utilise et ça fonctionne très bien.  
Comme on t'a dit, évite le framework "D3D Application" dans VC++, ça ajoute des centaines de fonctions pour rien. C'est juste bon pour faire des tests.
 
Edit :
Commence par suivre les 5 ou 6 tutorials livrés dans DX9 et qui sont expliqués dans la doc. Ca va te familliariser avec les concepts utiles en 3D temps reel (coord homogène, matrice 4x4, position de la caméra, vertex buffer etc...)
Après, tu pourras comprendre le fonctionnement des différents exemples et utiliser les interfaces qui simplifient la programmation :  
* ID3DXMesh & ID3DXPMesh
* ID3DXEffect


 
OK, merci, cool ! Voila une réponse qui me satisfait bien !
 
J'ai commencé à lire tout ça, et j'ai déja plein de questions, mais kje les agrde pour moi :) (histoire de ne pas tout polluer)
 
@ toute,
 
Yoyo*


---------------
It's nice to be important, but it's more important to be nice
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed