OGRE

slanning on 2007-08-26T17:34:50

I've been playing with OGRE recently. It's an "Object-Oriented Graphics Rendering Engine" made in C++. The documentation and tutorials on the site are excellent.

As always, there are Python bindings and .NET bindings but not a Perl one. You'd almost think Perl was dying. So I started to change that with a minimal Perl binding. So far, it's not very useful (no input/event handling), but I was able to reproduce a basic tutorial after having stripped out the CEGUI and OIS parts.


Dying?

Alias on 2007-08-27T04:10:18

Bear in mind Ruby doesn't have bindings either.

I think it's more the case that Python is used quite a bit more in the area of graphics and gaming (The PyGames package for instance) so there's more interest in that area for Python.

Don't forget to update their wiki to note your bindings. :)

Re:Dying?

slanning on 2007-08-29T18:59:26

more the case that Python is used quite a bit more in the area of graphics and gaming

Okay, then -- in what areas, besides web programming (if that), and probably sysadmin scripting, is Python not used quite a bit more than Perl? Python at least has the *reputation* of being what one would go to if one were serious about what one were writing.

Anyway, enough trolling. :) I will update the OGRE wiki, once the module is more usable. I made a ninja example last night, and it looks sweet.... :) I'll put that out tomorrow or so. Today I've been working on "FrameListeners"; the hard part being making them able to call out to Perl code (and still be C++ subclasses that are passed into whatever "addListener" methods). I hope I can get that working stably. In any case, the C++ API is enormous, and I hope I don't lose interest before getting it usefully wrapped. (Also I'm off work this week, so have more energy to work on it.)

I've been writing in XS, don't know if it would be easier using Swig. I think I'll eventually wrap enough of it that I'll see what the patterns are and make scripts to generate the wrappers from the header files. I did that a lot in the wrapping for Mozilla::DOM.