Is there a setup guide?

BlitzMax Forums/MiniB3D Module/Is there a setup guide?

BlitzSupport(Posted 2016) [#1]
Hi all,

Has anyone done a setup guide for the Openb3d wrapper? It's been a while, but I'm trying to build examples/blitz3d/CreateTerrain.bmx but run into build errors on both BlitzMax 1.50 and BMX-NG.

BlitzMax 1.50 (building modules):

Building Modules
Compiling:opengles.bmx
flat assembler  version 1.69.14  (1048575 kilobytes memory)
3 passes, 467 bytes.
Archiving:opengles.debug.win32.x86.a
Compiling:openb3dsdl.bmx
ar: creating B:/BlitzMax150/mod/pub.mod/opengles.mod/opengles.debug.win32.x86.a
Compile Error: Identifier 'glewInit' not found
[B:/BlitzMax150/mod/openb3d.mod/openb3d.mod/inc/TGlobal.bmx;126;3]
Build Error: failed to compile B:/BlitzMax150/mod/openb3d.mod/openb3dsdl.mod/openb3dsdl.bmx
Process complete

Obviously, glew.mod is installed under pub as standard, with glewInit extern'd in glew.c, so not sure why it's not being found.

In BMX-NG (building modules on-the-fly) I get a different result building for either 32 or 64-bit architectures:

Building CreateTerrain
[ 93%] Processing:openb3d.bmx
Compile Error: Identifier 'glpopclientattrib' not found.
[I:/SpiderOak/DevTools/Blitz/BlitzMaxNG_077/mod/openb3d.mod/openb3d.mod/inc/TBlitz2D.bmx;9;0]
Build Error: failed to compile I:/SpiderOak/DevTools/Blitz/BlitzMaxNG_077/mod/openb3d.mod/openb3d.mod/openb3d.bmx
Process complete


As far as I can tell, glpopclientattrib is just a standard OpenGL call.

BlitzMax 1.50 has lib/libopengl32.a in place, and BMX-NG I believe should use the relevant 32/64-bit libs in the supplied MinGW installation, so not sure what else might be missing...

Just tried one of the /standard examples (load_md2.bmx) in NG and it gives the same result.

Note that these are slightly different scenarios, ie. 1.50 is building the modules, NG building modules while trying to build a specific example.

Any ideas?


RustyKristi(Posted 2016) [#2]
Hey James,

If you haven't caught up yet with the latest update on OpenB3D, Munch already dropped development and the latest commit is broken as it is an unfinished conversion to GLES2.

What you just need to do is git clone the repo and checkout commit f152c02, this is before the transition.

https://github.com/markcwm/openb3d.mod/commit/f152c0280812508814e7bf81f336eacf7d9b65cd

or just go here and download the snapshot zip
https://github.com/markcwm/openb3d.mod/tree/f152c0280812508814e7bf81f336eacf7d9b65cd

Do a rebuild, all examples are tested working so far..


BlitzSupport(Posted 2016) [#3]
Excellent, thanks, RK -- I've just forked that version so I can get back to it!

It works fine in NG (after a few Int-cast tweaks), but after building the modules without error in 1.50, I get a load of undefined references when running an example. Not to worry, happy that it works in NG.

So has Munch packed it in completely, then? That would be a real shame -- it's a great project otherwise.


RustyKristi(Posted 2016) [#4]
Yes, it is. sad news really but look on the bright side, munch/angros47 made it as stable as it is which is great, of course minus the attempt to GLES.


BlitzSupport(Posted 2016) [#5]
Yeah, it's great as it is, really glad it exists anyway. Thanks Munch/angros47/all involved!


RustyKristi(Posted 2016) [#6]
I must say compared to Minib3d, Openb3D is way more faster in performance for complex scenes but if we're talking about compatibility aspect with B3D, Mini has the full advantage (with some tweaks).

This is just based on my test on using both. YMMV. :-)