#1 

20-04-2007 22:11:03

miloz
Membres
Date d'inscription:
Messages: 7
IP: 82.225.20.179
Courriel

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


#2 

20-04-2007 22:28:24

Jerry Kan
Membres
Date d'inscription:
Messages: 265
IP: 82.243.77.149
Courriel

euh, c'est bizarre, je croyais qu'il existait déja des bindings pour python :s


Hors ligne


#3 

21-04-2007 08:18:49

izguit
Administrateurs
Avatar de izguit
Date d'inscription:
Messages: 306
IP: 83.153.9.223
Courriel  Site web

bonne initiative wink
Question perfs ca donne quoi?

@ Jerry Kan : ca existait mais le site est down


Athlon 64 3000+ // 1Go RAM // Geforce 6600GT 128Mo
Turion 64 X2 // 1Go RAM // ATI X1250

Hors ligne


#4 

21-04-2007 09:11:33

Jerry Kan
Membres
Date d'inscription:
Messages: 265
IP: 82.243.77.149
Courriel

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


#5 

21-04-2007 21:17:34

miloz
Membres
Date d'inscription:
Messages: 7
IP: 82.225.20.179
Courriel

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


#6 

21-04-2007 21:24:54

miloz
Membres
Date d'inscription:
Messages: 7
IP: 82.225.20.179
Courriel

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


#7 

22-04-2007 20:54:25

miloz
Membres
Date d'inscription:
Messages: 7
IP: 82.225.20.179
Courriel

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


#8 

25-04-2007 21:45:30

miloz
Membres
Date d'inscription:
Messages: 7
IP: 82.225.20.179
Courriel

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


#9 

04-05-2007 22:46:57

miloz
Membres
Date d'inscription:
Messages: 7
IP: 82.225.20.179
Courriel

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


#10 

04-07-2007 17:57:00

zenakuten
Membres
Date d'inscription:
Messages: 1
IP: 72.208.218.65
Courriel

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 ? smile Je suis désolé pour mon Français faible. Je dois employer le babelfish pour traduire ceci.

josh
zenakuten@yahoo.com


Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
174 invités en ligne
membre en ligne: -
RSS Feed