iMiniB3D ??

BlitzMax Forums/MiniB3D Module/iMiniB3D ??

Chroma(Posted 2013) [#1]
So this allows you to write an iPad game in BMax? And use all the BMax 2D commands too?


Brucey(Posted 2013) [#2]
No, it's a B3D-like API written in C++, I believe.

BlitzMax only does x86 (Mac, Win32, Linux) and PPC (Mac).


ima747(Posted 2013) [#3]
iMiniB3D is a 3D engine for iOS built from MiniB3D which is itself built from B3D. It makes it comparatively easy to port a MiniB3D app that has been written objectively to iOS, but the code must still be adapted and translated to C++ and that itself has to be used under ObjectiveC to control anything outside of scope of the iMiniB3D engine since iOS's native language is ObjectiveC (i.e. view control, network access etc.).

To get a little more anally detailed about it:
B3D: Blitz like procedural language including a 3D engine. This is a full language with the engine included in it's standard kit.
MiniB3D: The 3D engine from B3D extracted and adapted for blitz max. It also has an objective interface added to it's structure in addition to the procedural approach from B3D. This sits on top of the BlitzMax language and all it's standard kit.
iMiniB3D: MiniB3D's objective interface ported to C++ and adapted for iOS including an ObjectiveC wrapper to act as a framework on which to build apps with minimal ObjectiveC interaction. This is a C++ toolkit that must be integrated with ObjectiveC to construct an app.

To clarify ObjectiveC to those that might not be familiar it is a smalltalk syntax based language which sits on top of C. As a result you can use C natively inside ObjectiveC and the compiler is also C++ compatible so you can use C++ simultaneously as well as long as you let the compiler know to expect it (done most simply by setting the file extension to .mm instead of .m, standard compiler flags will then allow C++ in those files. Be careful with header references...).

Also of note there is I believe a port of MiniB3D to Monkey which will allow cross compiling to a number of platforms (thought not all platforms supported by monkey yet as far as I know...). Additionally I roughly ported a good functional chunk of iMiniB3D to Java specifically for Android (aMiniB3D), though it works elsewhere as well as long as you tie in a compatible OpenGL library.

MiniB3D is a 3D engine, nothing more. The engine has been brought to a large number of platforms and languages which makes it comparatively easy to port code, but the code still must be ported, and anything outside of what MiniB3D does must be handled on it's own.

If you want to use MiniB3D and/or bmax like instruction set for iOS development look into Monkey.


Chroma(Posted 2013) [#4]
Ah so when you code for iMiniB3D you're using the Xcode IDE then?


ima747(Posted 2013) [#5]
yes