Is there a Blitz3d DLL file to make a wrapper for another programming language?


Tweet
(Posted 3 weeks ago) sprotz

I want to use Blitz3D functions in another programming language, so I was wondering if there already exist wrappers for that or where I can get a DLL of all the functions in Blitz3D so that I can create a wrapper for chosen programming language and call the functions in the DLL ?

I particularly want a Blitz3D wrapper for Python.

(Posted 3 weeks ago) markcwm commented:

Yes, the Blitz3d SDK did that but it was discontinued and never released as free, there might have been a community made python wrapper but it seems to have disappeared from the archives, it supported Bmax, Purebasic, C++ and C#.

There is a blitz3d-ng work in progress if you want to give that a try, but there are lots of good 3d engines for python: Urho3d, Panda3d, Ursina, Pyglet, SabreGL, pyIrrlicht and there's more.

(Posted 3 weeks ago) sprotz commented:

I have checked most of them: Panda3D, Pyglet and pyIrrlicht are a bit too hard, Ursina is more like it but seems incomplete. I don't know if it can load animated 3d models and the documentation is lacking with no community. SabreGL is also more like it but is old, discontinued and sadly undownloadable. Urho3D supports Lua and adding Python support is difficult.
I noticed something called OpenB3D. It is mostly a wrapper for Freebasic, and it also has some source files. Could this be used? I have never created a wrapper and I'm not sure how to go about it and I was hoping someone could create it for me

I've been looking around and found Raylib-py which is a Python binding for Raylib, an easy 3d game engine made in C, however it has limited documentation.

(Posted 3 weeks ago) markcwm commented:

Yes Ursina doesn't seem to load 3d models and so is too basic, and yes Panda3d does seem to be at a professional level, but it has a community and you may be able to work with it in a simpler way. Pyglet is very advanced too, it's more of a renderer like Ogre and has a small community. pyIrrlicht doesn't seem too hard but lacks examples and Irrlicht seems to have a small community. Urho3D doesn't seem to support python yet. Yes, SabreGL seems inaccessible due to CVS, but I installed it (concurrent versions system) and uploaded the source to sabregl.zip.

There's also a Horde3D binding which looks quite good, a bit like Irrlicht.

Actually, there is a binding/declarations file for Openb3d here (Semi-OT) OpenB3D + Python and since I'm familiar with Openb3d (having made Openb3dmax) I could work on this to improve it and port examples, I don't have any experience with python though, and don't have much free time so don't wait for this.

Yes Raylib looks good, but only some examples are ported so you'd be better off working in C there.

(Posted 3 weeks ago) sprotz commented:

Thanks alot for the links. I guess for the OpenB3D Python module, I just have to change the .so libraries to .dll for windows, right?

(Posted 3 weeks ago) markcwm commented:

Yes, for Windows you need .DLL for Linux it's .SO and Mac is .DYLIB. Use the make file in the Openb3d source to build the dll from the command line, you should just need to cd to the folder and type "make". The binding also requires libSDL-1.2 so that'll be the driver to create a graphics context. I don't know what to do there but it should be available from the SDL site probably prebuilt. Just look for v1.2 in case it's not compatible with SDL v2.

Reply To Topic (minimum 10 characters)

Please log in to reply