Page 1 sur 1

Wrappons OGRE!

Publié : lun. 18/juil./2005 16:44
par Pacificator
Salut les gars

La version Ogre 1.03 est sortit, et offre de grande possibilités, et je regrette que la version de purebasic ne soit pas a jour...

Wrapper ogre pour purebasic serait un travail de titan, je le sais, mais sans moteur 3d "acceptable" l'interet de purebasic pour des jeux 3d, c'est zero...

purebasic se limitera il longtemps aux applications et a la 2d?

Si on s'y met a plusieurs, l'adaptation de la derniere version d'ogre est possible, avec la volonté de tous...

et maintenant la question existenciel:
comment wrapper un code source en c++ pour purebasic...

Publié : lun. 18/juil./2005 16:53
par comtois
tu as un très bon exemple avec le moteur irrlicht

http://athecks.com/~inner/downloads.htm

(Irrlicht Final CVS)

tu verras comment l'adaptation est faite en comparant les fichiers include purebasic , et les sources en C.

Ce n'est pas fini , mais on peut déjà compiler quelques exemples .
Notamment l'exemple avec les collisions .

Publié : lun. 18/juil./2005 17:07
par Pacificator
interressant
mais sinon t'aurais pas un exemple avec du c++?

car je sais que wrapper du c et du c++ pour blitzmax, c'est deux manières différente de wrapper...

Edit: ok, j'avais pas vu, c'est deja du c++ =)

Publié : mar. 19/juil./2005 7:31
par Pacificator
c'est moi ou personne n'est motivé?
le post a été vu une 40aine de fois, et aucune réaction :-/

Peut etre que mon idée manque de crédibilité, certe (je suis pas un habitué du forum faut dire et pas super qualifié en la matière non plus)

mais c'est une idée ...hummm... revitalisante! (du point de vu de purebasic)

Purebasic est un langage formidable, qui mérite un moteur 3d de son ampleur...
allez voir www.ogre3d.org, mattez les demo, les screens, motivez vous =)

Publié : mar. 19/juil./2005 7:48
par Progi1984
Je suis pour t'aider mais le problème est que je n'ai malheureusement pas les connaissances à l'heure actuelle pour le faire !

Publié : mar. 19/juil./2005 9:09
par Pacificator
J'avoue que moi non plus je n'ai pas toutes les connaissances requises, et le travail est fastidieux...

deja, jette un oeil sur le wrapper du moteur d'irrilich...
regarde dans le dossier doc le fichier .txt "conversion_notes", ya pas mal d'info utile...

Le moteur est compilé dans des Dll, le but est d'écrire les fonctions de la dll en purebasic, pour que purebasic sache comment les appeller...

le principe est de reprendre toutes les fonctions du moteur et de les déclarer en purebasic, et les mettre dans une librairie. Dis comme ca, ca parait pas tres compliqué...

mais il faut savoir qu'il faudra aussi redéfinir les variables en argument, les constantes, redéfinir les structures, reproduire l'architecture du moteur, déclarer toutes les méthodes publiques (a mon avis, faudra les pointer)...

et ca necessite de ce pencher sur le moteur de base, cad dans les fichiers sources en c++...
Il reste pour ma part pas mal trou noirs, quand je regarde le wrapper d'irrlich... notamment sur les fichiers pbh qui sont au dela de ma comprehension :-/

Question: Un pointeur en purebasic, peut il pointer une fonction?

Ceux qui ont des connaissances en la matière sont les bienvenus pour nous éclairer =)

ps: et si j'ai dis des conneries, merci de me corriger :-]

Publié : mar. 19/juil./2005 9:38
par jerexgrz
Je pense que ca interesse beaucoup de monde ! Mais comme vous disiez avant, le probleme vient plutot des connaissances en purebasic ! 8O

C'est vrai qu'on voit la puissance de PB en regardant ce que l'on peut faire (convertir des fichiers c++, utiliser un moteur 3d, tres rapide, ...) mais ca fait environ 3 / 4 mois que je suis dessus et j'apprend de temps en temps de nouveau bon truc qu'on peut faire avec ! :D (cf: ce topic !).

Apres, 1X qu'on a les connaissances, il faut avoir le temps ( ce n'est pas mon cas malheureusement ! :mad: ).

Publié : mar. 19/juil./2005 11:32
par Dr. Dri
pointeur de fonction, voir CallFunctionFast()

Dri

Publié : mar. 19/juil./2005 23:35
par Guimauve
Personnellement, j'ai pas le temps de m'amuser à préparer un moteur 3D. C'est pour ça que j'attends que Fred ou quelqu'un d'autre mettre à jour le moteur 3D OGRE. Faire ça risque de me mettre plus en retard que je ne le suis déja. De plus, avec l'université, je programme quand j'ai du temps libre, c'est à dire pas souvent.

Exemple, ça fait 2 mois que je travaille sur les calculs de Spline Cubique 3D (C'est ridicule la simplicité de calcul, 1 matrice 8X8 à inversé, 3 multiplications de matrice et voilà c'est fini les calculs). J'ai mis mes devoirs de coté ce matin pour avancer là dessus. Et c'est loin d'être opérationnel, j'ai encore des problèmes avec le calcul matriciel.

Si le dévellopement de PB va vite, le moteur 3D traîne la patte. Ça fait presque 2 ans que le moteur 3D na pas subit de mise à jours.

Dans mon cas, ça ne change pas grand chose je ne suis pas encore prêt à programmer un jeu. J'ai des tas et des tas de chose à programmer pour ce projet avant d'avoir quelque chose de fonctionnel. Mais il ne faudra pas que là mise à jour arrive l'an prochain. Si non, je vais probablement passer à BlitzBasic pour les jeux 3D.

Je garde espoir pour le moment.

A+
Guimauve

Publié : dim. 24/juil./2005 11:13
par Patrick88
salut

je me bagarre déja avec le pascal pour convertir des sources en purebasic...

je convertit du C (turbo c 2.0) vers purebasic (mode console) et vice versa
c'est assez simple....

mais convertir du c++ ouillouille

ps:ton lien marche pas

il faudrait un road-map, savoir par ou commencer quoi enchaîner
les fichiers include sont relativement facile, généralement ils ne contiennent que des définitions... ensuite le C utilise beaucoup les pointeurs, euh, c'est pas mon fort. et j'ai déja pas mal de projet sur le gaz... mais un de plus, ça me tente....

patrick

Publié : dim. 24/juil./2005 22:35
par Le Soldat Inconnu
Fred ayant prévu la mise de Ogre pour la version 4 de PB (si je dis pas de betises), je pense qu'on peux attendre plutot que de ce lancer dans un truc impossible :wink:

Publié : lun. 25/juil./2005 17:11
par Patrick88
ouaip, c'est outch

bah, à défaut on peut regarder comment "attaquer" directos les dlls...
ou alors patcher engine3d.dll pour qu'il appel les routines directx9 à la place des routines directx 7, si analyser 10méga d'assembleur tente quelqu'un

pat

Publié : lun. 25/juil./2005 17:21
par lionel_om
Oula, 10Mo d'assembleur.
Moi déjà qu'en 2 lignes j'ai une migraine ... :jesors: