Salut,
Je commence l'écriture d'un wrapper python pour Irrlicht. La démo 1 marche déjà, à 2 commentaires près.
Voici à quoi ça ressemble:
from irrlicht import createDevice, dimension2di, recti, vector3df, SColor from irrlicht import EDT_SOFTWARE, EMF_LIGHTING, EMAT_STAND, IRRLICHT_SDK_VERSION device = createDevice(EDT_SOFTWARE, dimension2di(640, 480), 16, False, False, False) #device.setWindowCaption('Hello World! - Irrlicht Engine Demo') driver = device.getVideoDriver() smgr = device.getSceneManager() guienv = device.getGUIEnvironment() #guienv.addStaticText('Hello world', recti(10,10,260,22)) mesh = smgr.getMesh("../../media/sydney.md2") node = smgr.addAnimatedMeshSceneNode( mesh ) if node: node.setMaterialFlag(EMF_LIGHTING, False) node.setMD2Animation ( EMAT_STAND ) node.setMaterialTexture( 0, driver.getTexture("../../media/sydney.bmp") ) smgr.addCameraSceneNode(None, vector3df(0,30,-40), vector3df(0,5,0)) while device.run(): driver.beginScene(True, True, SColor(255,100,101,140)) smgr.drawAll() guienv.drawAll() driver.endScene() device.drop()
Hors ligne
euh, c'est bizarre, je croyais qu'il existait déja des bindings pour python :s
Dernière modification par Jerry Kan (21-04-2007 00:56:47)
Hors ligne
bonne initiative
Question perfs ca donne quoi?
@ Jerry Kan : ca existait mais le site est down
Hors ligne
miloz : je suis sur qu'il y a deja des trucs fonctionnel, tu est sur de vouloir faire un nouveau wrapper ? j'ai trouvé ca, si ca peut t'aider pour ton wrapper :
http://www.stenhard.net/
http://venom.sourceforge.net/old-venom/
http://irrlicht.sourceforge.net/links.html
Hors ligne
J'avais connaissance de Venom, mais le projet à l'air clos, et date apparemment de 2004; j'ai été assez impressionné par Jirr (wrapper java), et je voudrais faire l'équivalent pour python, car en ce moment je fais pas mal de python et j'apprécie.
J'essaie aussi de commencer avec que du libre (à par Windows): python, et mingw.
ça fait aussi un moment que je cherche un bon moteur de jeu, simple à mettre en oeuvre; pour ça irrlicht semble très bien.
Bon, je vais quand même regarder venom, ya quand même des trucs qui peuvent m'aider, car swig, c'est pas de la tarte: en ce moment par exemple, j'ai des pb avec les strings
et aussi avec le polymorphisme; si qqun a des idées ...
Oui au fait, le projet est sur https://opensvn.csie.org/traccgi/pyrr
Hors ligne
A propos des perf, ya pas de grosse différence avec le natif, mais bon, la boucle d'affichage de la scène n'a que 5 appels.
Ceci dit, il suffit de créer une fonction python qui wrappe les 5 appels en un, et on a les perf du C++ :-)
Hors ligne
J'ai regardé les projets de binding similaires, qui sont encourageants pour continuer:
- venom: projet clos, c'est l'ancêtre: il n'utilisait pas swig, ce qui le condamnait.
- irrlua: je pense qu'il utilise pas swig non plus; langage un peu "exotique" (avis perso)
- irrRuby: semble au point mort, mais utilise swig (ça peut m'aider); langage pas encore trop répandu.
Bref, il y a une place pour Pyrr :-)
Hors ligne
Une démo en python basée sur l'exemple quake3map
http://spango.free.fr/pyrr/pyrr_demo_quake3map.zip
tout est intégré dans la démo, sauf python (2.4+), il suffit de lancer main.py.
il faut aussi DX9, à moins de changer le driver
Hors ligne
La même démo quakemap, mais packagée, python est intégré (merci py2exe)
http://spango.free.fr/pyrr/demo_pyrr_irrlicht.zip
seul prérequis; windows et directX9
dézipper et lancer demo.exe
Hors ligne
Bonjour ! Je suis l'auteur d'IrrLua, le Lua liant pour Irrlicht. http://irrlua.sourceforge.net. Je veux convertir mon projet de tolua++ en swig. Peut-être nous pouvons travailler ensemble sur un système commun de manuscrit pour l'irrlicht ? Je suis désolé pour mon Français faible. Je dois employer le babelfish pour traduire ceci.
josh
[email protected]
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 16 invités en ligne Aucun membre connecté RSS Feed |