Bonjour a vous en ce lundi de Pâques.
Une petite visite, sur votre site bien sympa, pour avoir l'opinion des ténors
d'Irrlicht qui rodent dans le coin.
Voila, je suis le codeur d'un moteur3D (Dreamotion3D), il y en a qui connaissent
peut-etre. Même si ce moteur me tient à coeur (plus de deux ans de travail),
j'ai beaucoups de mal à fédérer une vrai communauté, et surtout je suis le seul
codeur, et au stade ou j'en suis cela ne suffit plus, d'autant plus que mon temps
libre n'a malheureusement pas augmenté, mais au contraire c'est un peu plus réduit
ces derniers temps. Bref, je vais certainement faire une 'pause' de quelques temps.
Ceci étant dit, je ne peux pas me passer de coder de la 3D, et je cherche donc
un projet serieux sur lequel m'investir.
Mes critères sont donc un moteur 3D qui tienne la route, OpenSource, avec une
communauté déjà bien implentée. Mon but est de faire plaisir, d'appliquer ce que
je connais de la 3D, de triturer, modifier voir améliorer le code source, et d'apprendre
ce que je ne connais pas encore
La liste est vite faite, et deux noms sortent irresistiblements du lot, c-à-d
Ogre et Irrlicht. En ce qui connerce Ogre, que j'ai 'taté' un peu, je ne supporte
pas, c'est une vrai usine à gaz, donc reste Irrlicht.
D'ou ma venue ici. Et bien sur j'ai quelques questions pour me faire une idée plus
précise de ce moteur, meme si j'a idéjà téléchargé la dernière version que je teste
en ce moment. Je vais donc certainement avoir quelques questions dans les prochains
temps.Par exemple:
- niveau optimisation, Irrlicht n'a pas la réputation d'etre un foudre de guerre.
Qu'en est-il réélement ?
- y a t-il des soucis en fonction des API employé quand cela tourne sous Vista ?
- quels sont ses points fort et ses point faibles ?
Ce que j'ai déjà apprécié, c'est qu'il ne m'a fallu moins de deux minute pour recompiler
la DLL...
...ce qui j'ai moins apprécier, c'est que c'est toujours aussi galère de sortir des exemples
fournis dans le package
Dernière modification par tmyke (24-03-2008 14:40:14)
Hors ligne
- niveau optimisation, Irrlicht n'a pas la réputation d'etre un foudre de guerre.
Qu'en est-il réélement ?
C'est vrai, Irrlicht n'est pas très rapide, contrairement à ce que pourrait faire croire son nom. Mais c'est en train d'être réglé : jusqu'à présent les VBO n'étaient pas implémentés, c'est chose faite (en tout cas pour le renderer OpenGL) et ce sera dispo pour la prochaine version.
Donc il faut s'attendre à un petit coup de boost (les vertex Array c'est sympa mais c'est pas ce qu'il y a de plus rapide...)
- y a t-il des soucis en fonction des API employé quand cela tourne sous Vista ?
Alors là aucune idée, je tourne sous XP
- quels sont ses points fort et ses point faibles ?
Son point faible est sans doute son manque de maturité, contrairement à Ogre qui a déjà des années derrière lui. Irrlicht continue d'évoluer, et en bien. J'ai parlé des VBO plus haut, mais on doit aussi mentionner le système d'animation qui a complètement été revu récemment.
Enfin sa principale qualité est qu'il est simple d'utilisation. Simple à comprendre, simple à mettre en place (une lib à lier et c'est finit) et à déployer.
Je te rejoins quand tu dis qu'Ogre est une usine à gaz. Irrlicht ne l'est pas, sa simplicité il la compense par son manque de fonctionnalités (bien qu'il soit facilement modulable).
...ce qui j'ai moins apprécier, c'est que c'est toujours aussi galère de sortir des exemples
fournis dans le package wink
Que veux-tu dire par là ?
Hors ligne
Salut tmyke,
Je ne sais pas si tu te rappeleras de moi, mais on se connait du site de Blitz3Dfr ou j'ai fait mes débuts.
Tu mets en Stand By le dev mais Seyhajin ne t'aidais pas ?
Sinon pour Irrlicht, c'est pas un foudre de guerre, c'est plus une API simple à utiliser, multiplateforme et tout de même assez stable malgré quelques petits bugs qu'on peut rencontrer et contourner grâce au fait qu'il soit Open Source.
Pour ce qui est de Vista, je développe dessus donc je n'ai pas vraiment rencontré de problèmes, sauf que la plupart des drivers du moins chez Nvidia ne sont pas encore exceptionnel côté OpenGL, donc ça fonctionne bien, mais pas aussi vite qu'avec Dx9 par exemple.
Après bein je sais pas, n'hésite pas à poser plein de questions .
Hors ligne
@Aranoth:
Merci pour tes renseignements. Au fil du temps, je me ferais une opinion plus
précise de toute façon. J'ai testé cet après midi sur deux de mes machines avec Vista,
en effet, cela tourne bien sans soucis apparent, y compris avec OGL (même si pour ce
dernier ont pas certainement pas l'opti attendu, Vista oblige pour l'instant).
Concernant l'implémentation des VBO, c'est une bonne nouvelle, et en effet cela devrait
apporter un indiscutable bol d'oxygène en terme d'optimisation.
@Coplan:
Bonsoir à toi. Oui, je me souvient bien de toi, nous avions d'ailleurs eu quelques
echanges (sur Newton je crois) à l'époque ou tu administrait ton site sur TV3D.
Concernant DM3D, non Seyhajin ne code pas, je suis tout seul, même si sa contribution
reste importante. De plus, même si je prend du recul, je ne lache pas le projet pour
le moment, je veux changer d'air pendant quelques temps , c'est tout
Sinon, j'ai déjà travaillé un peu avec Irrlicht cet après midi, et j'ai chargé mon
PC portable avec pas mal de demo et de tuto pour m'abreuver au plus vite de ce qui
ce fait avec ce moteur (mon portable car je m'absente cette semaine). J'ai déjà
tripatouillé le code source pour m'amuser...
Sinon, pas de soucis, dès mon retour je viendrais régulièrement faire un petit tour
dans le coin, ne serait-ce que pour appeler au secours (et oui, c'est moi le petit
nouveau...)
sinon:
Aranoth :
...ce qui j'ai moins apprécier, c'est que c'est toujours aussi galère de sortir des exemples
fournis dans le package wink
Que veux-tu dire par là ?
je parlais des exemples qui sont fournis dans la dernière version de Irrlicht, je n'ai pas
trouvé comment sortir une fois les demo lancées (je dois etre un peu neuneu en ce moment).
J'ai du passer par un CTRL-ALT-SUP pour arreter chaque .exe.
Dernière modification par tmyke (24-03-2008 20:14:31)
Hors ligne
Pour quitter les démos, suffit de faire un Alt+F4, c'est tout simplement parce que les mecs qui ont codé les samples ont eu la flemme d'implémenter les Events du clavier que tu peux pas faire Echap :p
Hors ligne
Copland :
Pour quitter les démos, suffit de faire un Alt+F4, c'est tout simplement parce que les mecs qui ont codé les samples ont eu la flemme d'implémenter les Events du clavier que tu peux pas faire Echap :p
Oui effectivement, merci
Hors ligne
Un petit détail sur DM3D, j'ai été un peu déçu de ne pas voir le beau landscape avec les palmiers dans les samples du sdk, y'a moyen de tester cette scene là ?
Hors ligne
Non, car c'est l'œuvre de Dkler, et pour le moment, il travaille toujours sur son éditeur de terrain avec DM3D , et donc
pas de demo sous la main pour l'instant, que des screen (il a fait un topic d'ailleurs sur le site de Blitz3D.fr avec des screens ici http://www.blitz3dfr.com/o2_forum/viewt … p?tid=3101 ) ...
Dernière modification par tmyke (24-03-2008 20:53:02)
Hors ligne
Tiens, d'ailleurs pour revenir à Vista, j'ai testé les exemples donc du package, et la plupart son plus
rapide en terme de FPS affiché avec le driver OpenGL qu'avec celui de Direct3D 9c .
par exemple, sur l'exemple 10.Shader, j'ai 2300 fps avec D3D9c et 3300 fps avec OpenGL 2.1.1,
et avec 16.Quake3MapShader 420 contre 450 fps(en mode fenetré).
Par contre, avec la Demo, en mode plein écran, tout a fond, OGL est un poils en dessous, mais rien de bien mechant (moins de 10% d'écart).
Finalement, OGL ne semble pas si à la traine que cela sous Vista.
Dernière modification par tmyke (24-03-2008 21:22:34)
Hors ligne
Toi qui a de l'expérience en développement de moteur3D et plus particulièrement sur DirectX, j'ai entendu dire que le fait d'utiliser le DrawPrimitiveUP de directX avait une addition sévère sur le FPS (Directx9 programmation de jeux 3D par Laurent Testud), chose qu'irrlicht utilise à 100%.
Sais-tu si c'est vrai, et si c'est modifiable dans irrlicht sans pour autant avoir à retoucher à 50 fichiers du code source car je dois reconnaitre que niveau performance, je suis assez coincé sur mon jeux...
Sinon oui en OpenGL sous vista ça marche, mais tout dépend le matos que tu as et le driver que tu utilises.
C'est pas spécialement lié à Irrlicht car j'ai pas mal d'application OpenGL qui saccade sous vista et qui pourtant tourne à un FPS plus qu'honorable.
Hors ligne
Oui, en effet, le fait de passer par des fonctions comme DrawPrimitiveUP a une incidence non négligeable
sur les performances sous D3D. Même si l'explication est plus complexe, il faudrait parler de buffer et
de la mémoire video. Je ne sais pas encore comment Irrlicht gère cela, jevfais au fils des prochains jours
me pencher sur le problème, et il m'est donc prématuré de te répondre qu'en à la possibilité de passer
tout cela en vertex/index Buffer voir en ID3DMeshBuffer au niveau du code d'Irrlicht , et les modifs que
cela entrainerais au niveau du moteur.
Pour Vista, j'ai les derniers Drivers, on sent les progrès fait au niveau d'OGL, même si ce n'est pas encore
cela. Quelque soit la carte, c'est surtout le fait d'avoir pu comparer la même demo avec les deux drivers
different sur un même systeme, qui était pour moi interessant (sinon j'ai une 8800GTX 768Mo).
L'optimisation très médiocre d'Irrlicht au niveau D3D ne doit pas laisser penser donc que OGL met la pige à D3D, même si
OpenGL ne se voit pas visiblement affublé lui non plus de gestion avancé des Buffer en mémoire video (VBO).
Enfin, je vais décortique le moteur cette semaine durant mon déplacement professionnel, je t'en dirais
plus à mon retour, d'ici au WE prochain.
A++
Hors ligne
Donc, comme promis, voici mes premières impression après quatre jours passé à
bidouiller avec Irrlicht.
Irrlicht est un moteur très attachant. Il a pour lui d'etre à la fois plutot
simple et relativement complet. Son approche et sa mise en oeuvre déroute les
premiers temps, mais on s'y fait très bien et les fonctions sont nombreuses,
ce qui couvrent la majeure partie des besoin en programmation 3D, du moins à
notre niveau d'amateurs que nous sommes.
Ceci dit, en complément, je dirais que le projet à besoin de murir, en particulier
au niveau de la gestion des rendus, qui se font par des fonctions de sortie qui ne
sont plus employées dans le monde de la 3D depuis déjà un moment, si ce n'est quand
on débute (car plus aisées à comprendre). Travailler sur la géométrie en RAM video
serait le bien venue et boosterait pas mal les perf, que ce soit en OpenGL ou avec
Direct3D.
Voici, à chaud, quelques points qui cependant ont attiré mon attention, et qui
trouveront peut-etre une explication de la part des 'pro' de ce moteur:
1- lors du multitexturing, soucis au niveau des changements des states de rendu
ou on note une grosse différence entre OpengGL et DirectX9 (D3D9 buggué ?).
Il faut que je teste sur mes autres machines pour voir si ce genre de bug ce
confirme.
2- certains artefacts lors de certains rendus avec D3D9, qui ne sont pas
rencontrés avec OpenGL.
3- le rendu par liste de Vertices/Indices situé en RAM système, ce qui nuit
beaucoup au performances (comme souligné dans mon préambule), surtout dès
que l'on commence à avoir des scènes chargées en polygonnes.
4- Restitution des shadows qui semblent souvent buggués. Il n'aime pas non plus
les mesh trop complexe, mais vue que c'est du shadows volume software, c'est
aisément compréhensible.
5- Indices des mesh uniquement en 16 bits, ce qui limite la géometrie des mesh à
65536 faces. C'est déjà très respectable, mais dans certains cas, c'est une limite
qui peut se révéler gênante. Je pense en particulier à la génération de terrain
ou l'on franchis aisément cette limite.
6- limitation apparemment à deux coordonnées de texture par mesh. La encore, cela
couvre déjà la plupart des domaines, mais toujours dans le cas de terrain, ou dans
pas mal de cas il est souhaitable d'avoir au moins 3 coordonnées de texture, cela
bride un peu les choses (mapping, detail, et... shadows mapping = 3 UV).
Ceci dit, je continue mon apprentissage, mon premier vrai code, je pense, sera de
tenter d'adapter mon moteur de terrain à Irrlicht.
Copland :
Toi qui a de l'expérience en développement de moteur3D et plus particulièrement
sur DirectX, j'ai entendu dire que le fait d'utiliser le DrawPrimitiveUP de directX avait une
addition sévère sur le FPS (Directx9 programmation de jeux 3D par Laurent Testud), chose
qu'irrlicht utilise à 100%. Sais-tu si c'est vrai, et si c'est modifiable dans irrlicht sans
pour autant avoir à retoucher à 50 fichiers du code source car je dois reconnaitre que niveau
performance, je suis assez coincé sur mon jeux...
Pour avoir regardé cela de près, je t'avoue qu'arriver à un résultat dans ce domaine sans avoir
à modifier pas mal de partie du moteur me parait très difficile. Maintenant, n'ayant pas encore
finis d'analyser les entrailles du code du moteur, je me trompe peut-etre, mais j'en doute.
Aranoth :
C'est vrai, Irrlicht n'est pas très rapide, contrairement à ce que pourrait faire croire
son nom. Mais c'est en train d'être réglé : jusqu'à présent les VBO n'étaient pas implémentés, c'est
chose faite (en tout cas pour le renderer OpenGL) et ce sera dispo pour la prochaine version.
Donc il faut s'attendre à un petit coup de boost (les vertex Array c'est sympa mais c'est pas ce qu'il
y a de plus rapide...)
Comme le dit donc Aranoth, la prochaine version reglera peut-etre en partie cette question, car si
les VBO sont implenté pour OGL, ont peut penser qu'il en sera de même pour les buffer de Direct3D.
Mais en attendant je vais continuer à plancher sur le truc quand même...
D'ailleurs, à tout hasard, quelqu'un a t-il réussi à récupérer dans ces codes le pID3DDevice lors
de l'emploi de D3D9 avec Irrlicht. Il s'agit d'un membre privé de la l'objet CD3D9Driver , donc en
théorie cela ne doit pas etre trop possible, sauf si j'ai fait l'impasse sur une fonction qui permet
de retourner cette valeur ?
Hors ligne
Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
---|---|---|---|---|
Corrections |
|
xhtml 1.0 css 2.1 Propulsé par FluxBB Traduit par FluxBB.fr |
882 membres 1429 sujets 11119 messages |
Dernier membre inscrit: LiseBuisson96 58 invités en ligne Aucun membre connecté RSS Feed |