#0 

21-04-2007 00:11:03

miloz
Petit nouveau
Date d'inscription: 18-04-2007
Messages: 7

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:

Code:

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


#1 

21-04-2007 00:28:24

Jerry Kan
Habitué
Date d'inscription: 21-11-2006
Messages: 265

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


#2 

21-04-2007 10:18:49

izguit
Administrateur
Lieu: 127.0.0.1
Date d'inscription: 14-09-2006
Messages: 306
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


#3 

21-04-2007 11:11:33

Jerry Kan
Habitué
Date d'inscription: 21-11-2006
Messages: 265

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


#4 

21-04-2007 23:17:34

miloz
Petit nouveau
Date d'inscription: 18-04-2007
Messages: 7

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


#5 

21-04-2007 23:24:54

miloz
Petit nouveau
Date d'inscription: 18-04-2007
Messages: 7

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


#6 

22-04-2007 22:54:25

miloz
Petit nouveau
Date d'inscription: 18-04-2007
Messages: 7

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


#7 

25-04-2007 23:45:30

miloz
Petit nouveau
Date d'inscription: 18-04-2007
Messages: 7

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


#8 

05-05-2007 00:46:57

miloz
Petit nouveau
Date d'inscription: 18-04-2007
Messages: 7

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


#9 

04-07-2007 19:57:00

zenakuten
Petit nouveau
Date d'inscription: 04-07-2007
Messages: 1

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é
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
92 invités en ligne
Aucun membre connecté
RSS Feed