EXEMPLE D'AFFICHAGE MULTIPLATEFORME D'UN TRIANGLE (DIRECTX ET OPENGL)

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 - 22 janv. 2008 à 18:28
cs_Zacks Messages postés 2 Date d'inscription vendredi 31 août 2007 Statut Membre Dernière intervention 22 janvier 2008 - 22 janv. 2008 à 21:08
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/45489-exemple-d-affichage-multiplateforme-d-un-triangle-directx-et-opengl

cs_Zacks Messages postés 2 Date d'inscription vendredi 31 août 2007 Statut Membre Dernière intervention 22 janvier 2008
22 janv. 2008 à 21:08
Pour SDL, ça fait un truc de moins à distribuer et je suis un peu plus propriétaire du code comme ça, c'est juste une histoire de goûts. De plus, tout est installé par défaut normalement pour OpenGL et DirectX, quoiqu'il faut mettre à jour DirectX sur la machine cible suivant le SDK utilisé, c'est vrai. Le problème peut se poser pour GLUT sur Linux, mais sur la plupart des distributions il y a de quoi le gérer par défaut.
Bref juste une histoire de goûts encore une fois.

Je te remercie pour tes critiques, j'ai justement posté ces sources pour ça. Je cherche tout de même à garder une compatibilité OpenGL et DirectX sur Windows. Peut-être vais-je abandonner l'idée de compiler sous Linux, puisque des softs comme Wine gèrent très bien l'émulation windows. Je réfléchis donc à un bon compromis pour redévelopper mon moteur.

Je te remercie de même pour le cours que tu m'as donné. Le problème avec le net, c'est qu'on trouve bien souvant de la documentation qui n'est plus à jour depuis pas mal de temps. Et la plupart des sites les plus connus proposent encore de développer avec OpenGL de la même manière que j'ai procédé. Je savais que le système de VB et IB existait aussi sur OGL mais je n'étais pas tombé sur de la bonne documentation à ce propos.
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
22 janv. 2008 à 18:59
"SDL impose d'avoir une DLL en externe or mon moteur est aussi compilé sous la forme d'une bibliothèque dynamique"
=> Avoir deux dlls, ne posent un pb particulier ?

"si ce n'est pour comparer les rendus"
=> Les rendus sont censés être rigoureusement équivalent: la somme et le produit de deux nombres fera tjs le meme résultat sous DirectX ou OpenGL (heureusement) et comme la 3D, ca ne se résume qu'a ca...

"la bonne méthode permettant d'afficher un triangle (VertexBuffers ?)"
=> Oui, il s'agit simplement d'utiliser le meme principe que DirectX.
http://www.g-truc.net/article/vbo-fr.pdf
cs_Zacks Messages postés 2 Date d'inscription vendredi 31 août 2007 Statut Membre Dernière intervention 22 janvier 2008
22 janv. 2008 à 18:41
En fait, cette étude me sert de tests préliminaires pour le redéveloppement de mon moteur. A la base, il n'utilise que DirectX et ne fonctionne que sur Windows. J'ai envie d'intégrer OpenGL et de le rendre compilable multiplateforme, et ce sans utiliser SDL puisque SDL impose d'avoir une DLL en externe or mon moteur est aussi compilé sous la forme d'une bibliothèque dynamique.

Il est donc intéressant de pouvoir utiliser à la fois DirectX et OpenGL, si ce n'est pour comparer les rendus, offrir ce choix à l'utilisateur. Comme ce que font pas mal d'applications vidéo-ludiques.

Bref, vu qu'à la base je suis plutôt orienté DirectX, pourrais-tu me donner un lien pour observer la bonne méthode permettant d'afficher un triangle ? (VertexBuffers ?)
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
22 janv. 2008 à 18:28
Une question et une remarque.

La question: Je me demandais quel est l'intérêt de gérer openGL et directX:
- Si on faire un soft uniquement pour windows, alors autant faire que du DirectX.
- Si on veut faire du portable, alors autant tout faire en OpenGL.
Non ?

La remarque: Ta méthode pour afficher un triangle est openGL est un peu dépassée.
Rejoignez-nous