#0 

14-08-2008 09:59:58

Ikam
Membre
Date d'inscription: 16-05-2007
Messages: 56
Site web

Yop

J'en ai un peu raz le bol d'irrlicht, a chaque fois que j'essaie de faire un truc, y'a toujours un probleme, soit un bug du moteur (qui me prend un temps fou à debugger et corriger le probleme), soit un truc qui n'est pas possible de faire avec le moteur du coup je dois modifier les source d'irrlicht pour faire ce que je veux, mais des fois c'est pas toujours possible a moins de retoucher à enorment de code.

Pour exemple dernierement je travallait sur une classe de pagination de terrain, hop j'ai decouvert un bug sur les textures en opengl, avec l'aide d'hybrid sur le forum officiel on a trouvé d'ou venait le bug, et reussi à le corriger mais ca m'a pris un temps fou.

Avec les vbo, pareil y'avait je pouvais pas les utiliser car dans le code y'avait une restriction bidon + un bug, encore pas mal de temps pour debugger et trouver le bug.

Encore un bug pour le zbuffer lorsque j'ai voulu creer un effet sur ma scene.

En réalité j'ai jamais reussi a finir une scene correctement sans passer plus de la moité de mon temps a debugger et modifier irrlicht, du coup mon irrlicht est bien différents de l'original, car mes corrections ne sont pas toujours prise en charge ou ne corresponde pas exactement a celle qui ont été apporté.

Alors j'en ai marre et je me dit que finalement je passerai moins de temps a coder mon propre moteur, c'est sur avec beaucoup moins de fonctionnalité qu'irrlicht, mais qui au moins fasse ce que je veux. En plus j'aime pas les autre moteurs, genre ogre tv3d etc... donc c'est decidé je code le miens et si y'en a que ca interresse de m'aider on peut s'arranger :p

Par contre je prendrais exemple sur irrlicht pour ce qui est de sa hiearchie et de sa structure de code que je trouve vraiment tres bien faite.

Hors ligne


#1 

14-08-2008 12:20:59

Aranoth
Abonné
Lieu: Toulouse
Date d'inscription: 25-09-2006
Messages: 242
Site web

Héhé, bienvenu dans le club de ceux qui ont fait leur propre moteur ^^

Maintenant tu ne va plus pester contre Irrlicht mais contre OpenGL (sauf si tu fais du Windows only et dans ce cas tu prend DirectX) et ses 5 façons différentes de faire la même chose.

C'est vraiment une API bordélique, y'a du code qui date d'y a 17 ans à côté de trucs tout nouveaux, les drivers sont pas toujours tip top ou même fonctionnels (Intel par exemple, ou même ATI qui n'implémente pas les Geometry Shaders...) et la doc sur internet est pas franchement "up-to-date"...


Donc tu vas passer encore plus de temps à te prendre la tête et corriger des bugs big_smile

Mais c'est quelque chose de passionnant et très instructif donc ça vaut le coup.


Par exemple, voilà où j'en suis arrivé actuellement :




N'hésites as à montrer ton avancement régulièrement, qu'on "s'entre-motive" wink

Hors ligne


#2 

14-08-2008 13:55:20

Ikam
Membre
Date d'inscription: 16-05-2007
Messages: 56
Site web

J'ai deja fais pas mal d'OpenGL avant de connaitre Irrlicht et tout tit peu de DirectX.

Je pensais en premier lieu utiliser opengl pour mon moteur (surtout que j'ai pas mal de sources avec mes anciens prog) mais après réflexion je me dit que directx est peut être un meilleur choix étant donné que je ne vise que de la prog sous Windows.

En tout cas c toujours un problème de choisir entre ces 2 API...

Bravo pour ton moteur il a l'air bien avancé ca fais combien de temps que tu es dessus ?

Hors ligne


#3 

14-08-2008 14:36:35

Aranoth
Abonné
Lieu: Toulouse
Date d'inscription: 25-09-2006
Messages: 242
Site web

Si tu ne vises que Windows, DirectX est sans aucun doute le choix le plus simple. Et surement le meilleur : les drivers pour DirectX sont quand même plus aboutis et stables que ceux pour OpenGL.
Ça me fait mal de dire ça, mais c'est la vérité et c'est pas prêt de changer quand on voit ce qu'ils ont fait d'OpenGL 3 hmm
Actuellement les doutes subsistent sur l'avenir d'OpenGL et sa survie même.


Bravo pour ton moteur il a l'air bien avancé ca fais combien de temps que tu es dessus ?


Historiquement je suis dessus depuis février, mais il y a eu de long mois sans que j'y touche et d'autres où j'ai fait beaucoup de choses, donc c'est dur à évaluer.
Sa particularité qui a poussé à son développement est qu'il n'a pas d'arbre de scène contrairement à Irrlicht et Ogre.

Je trouvais ça stupide et pas optimal d'avoir un arbre de scène quand on a déjà un arbre d'entités dans son jeu.
C'est donc un moteur 3D vraiment orienté jeu vidéo.
Du coup il est beaucoup plus léger qu'Irrlicht et peut encore être considérablement accéléré, notamment avec les VBO (j'utilise juste des vertex Arrays pour le moment)

Hors ligne


#4 

21-08-2008 12:50:28

Ikam
Membre
Date d'inscription: 16-05-2007
Messages: 56
Site web

Pourquoi tu n'as pas voulu implémenter une arbre de scène ?  moi je trouve ça très pratique.

Je trouvais ça stupide et pas optimal d'avoir un arbre de scène quand on a déjà un arbre d'entités dans son jeu.


Quelle différence entre un arbre de scène et ton arbre d'entités ?

Hors ligne


#5 

21-08-2008 19:30:52

Aranoth
Abonné
Lieu: Toulouse
Date d'inscription: 25-09-2006
Messages: 242
Site web

La séparation jeu/graphisme.

La gestion du jeu ne doit pas dépendre du moteur 3D, c'est un non-sense du point de vue conception.

Le moteur 3D est là uniquement pour afficher ce qu'on lui dit à l'écran, en aucun cas il n'a autorité pour gérer les entités du jeu.

De plus une entité c'est bien plus qu'un SceneNode d'Irrlicht, ça contient des attributs dépendant du jeu, des comportements (scripts par exemple), etc.

Donc dans le cas d'Irrlicht on est obligé de gérer deux arbres en faisant attention à ce que celui pour la scène soit conforme à celui pour le monde. Il y a une perte de perfs et une hausse de la complexité complètement inutile.


Sans compter que rien n'empêche après un utilisateur d'ajouter un arbre de scène par dessus si l'envie lui en prend. Le contraire étant impossible sans changer le code.

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
7 invités en ligne
Aucun membre connecté
RSS Feed