Bonjour a tous
je voulais simplement savoir si dans le cadre de la conception d'un petit moteur 3D, l'utilisation des classes D3DX était une bonne chose ou s'il vaut mieux s'en passer et écrire ses propres classes.
Merci pour vos réponses
Bonjour a tous
je voulais simplement savoir si dans le cadre de la conception d'un petit moteur 3D, l'utilisation des classes D3DX était une bonne chose ou s'il vaut mieux s'en passer et écrire ses propres classes.
Merci pour vos réponses
Ca dépend de ce que tu veux faire exactement ("moteur3d" c'est assez vague).
Ce qui est sûr, c'est qu'opengl n'est pas comparable, et qu'en directx tu obtiens très rapidement un résultat. Voir les samples pour t'en convaincre.
Je ne vois pas de raison d'écarter D3DX, il est fait pour ça. Maintenant il faut voir tes besoins plus précisément.
Merci pour vos réponses. En fait je craignais 2 choses vis a vis de D3DX:
- en etre dépendant, j'ai peur par exemple de ne plus pouvoir gerer facilement le chargement de meshes autres que les .x
- avoir un code trop lourd
A toi d'utiliser D3DX quand il te permet de gagner du temps. N'hésite pas à développer tes propres fonctions si nécessaires.- en etre dépendant, j'ai peur par exemple de ne plus pouvoir gerer facilement le chargement de meshes autres que les .x
Au contraire......avoir un code trop lourd
Quoi de plus facile et de plus claire qu'un D3DXCreateTexture pour créer une texture?
Ah bah tu peux toujours avoir un format autre que les .x, mais ca te nécessitera d'écrire une partie du code (le load, la gestion des caractéristiques des fichiers de tes meshes, etc).Envoyé par Radikal333
aie aie aie en fait j'ai confondu D3DX avec DXUT alors évidemment...
Je réitère ma question avec DXUT (toutes mes excuses )
Même réponse
Bon évidemment ça introduit encore plus de dépendance, tu ne contrôles plus grand chose du squelette de l'appli, donc à toi de voir.
OK mais alors du coup j'ai l'impression de ne plus pouvoir utiliser mes propres classes à cause des fonctions callback de DXUT.
Exemple:
DXUTSetCallbackDeviceReset( OnDeviceReset );
OnDeviceReset ne peut donc est membre de classe.
J'ai donc essayé:
MyClass Classe;
DXUTSetCallbackDeviceReset( MyClass::OnDeviceReset, &Classe );
mais ca ne marche pas! (erreur à la compilation)
Help please!
Si tu pars comme ça alors il vaut peut-être mieux éviter DXUT. Effectivement tu ne pourras pas (ou alors avec des bidouilles à trois sous) l'interfacer avec tes classes.
Bon OK
Au passage pour ceux que ca interesse:
une "bidouille" justement consisterait a créer une méthode static comme indiqué au lien suivant: http://www.gamedev.net/community/for...opic_id=274458
Merci Laurent pour tes réponses
J'abandonne DXUT, étonnant que depuis le temps ils n'aient pas adapté DXUT à la POO
Disons qu'ils ont voulu faire un équivalent à GLUT ; et puis le code doit rester compatible C, donc pas de classes.Envoyé par Radikal333
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager