Openb3d inquiries


👉 BlitzCoder will be building a new platform and other plans to preserve and continue the Blitz legacy.

To be able to achieve this goal, we need your support by becoming a Patreon Paid Member 👈

 

Tweet
Rha

I'm considering a few options as my current project is about mid-way through completion and I'm wanting to take the concept to a more modern engine such as OpenB3d.

Im wondering, what is the current state of OpenB3d ?
Is OpenB3d ready for a full blown project?
Is OpenB3d still actively developed?
How is the porting process? do blitz3d commands meet up with the functionality in OpenB3d?
What is the actual install process? I see Githubs all over for B3d, then when I go to it - theres particle candy etc.. I havent actually found the most current B3d yet. Also the one I did find was B3dMax. is this the same thing? and does Openb3dplus override the current Openb3d? it's all very confusing as to getting up and running with the most current openb3d modules.

Thanks for any help you may have with these questions.

markcwm commented:

Hi Rha,

I wrote the Blitzmax Openb3d wrapper, I used to call it Openb3dmax but decided to use Openb3d again. Angros47 wrote the Openb3d library and he's still working on it. I am not really working on my wrapper any more as I haven't much spare time but am accepting pull requests for bug fixes. Installing is standard Blitzmax, just drop it in the mod folder and build modules.

Openb3dplus is really just built-in shaders that can be ported to Blitzmax, for example I just ported shader textured shadows but there's a bug where the shadow only works in 640x480 resolution.

Yes it's useable but still lacks a lot compared to Blitz3d, so porting a large project will probably not work as functionality just isn't there sometimes. For example, only text X files load, no compressed mszip data so it just crashes when you try, CreatePlane is just a static mesh (edit: fixed), AddAnimSeq has a bug with scaling and the last frame, Terrains need a fix for the bottom row mirroring the top row instead of its row of pixels, CopyRect doesn't exist and there's no buffer commands but there's an alternative method, it seems DDS mipmaps aren't working in GL3.

The latest Openb3d update fixed a memory leak with sprites by making them a single surface, this was good news as particles are very fast in C++ because it's not got a GC slowing it down. I recently fixed a lot of terrain bugs like alpha textures, terrain shaders (no example yet), wrong orientation of heightmap, right edge had wrong values. Also I improved the default particle engine although it's still pretty basic, not really full control. Other things worth mentioning are the OBJ loader, TerrainDetail command, Anisotropic filter, DDS textures which can be compressed in video memory with a tweak to Max2d now in NG, Fullbright FX lighting fix by Kippykip.

There are several versions of the wrapper but mine is the most functional, there's a list in the Readme about the core features:
markcwm/openb3d.mod

Extra non-core modules written in Blitzmax audio3d and particlecandy, examples for these are in the modules. I would like to add the Openb3d framework to this.
markcwm/openb3dex.mod

Core example docs are in a separate download because of any license issues that might occur from using the media:
markcwm/openb3d.docs

Newton wrapper by Brucey, but only had primitives added to it, examples included. I would like to add more by using Itmbin's source.
markcwm/newton.mod

Assimp wrapper by P Scheutz, it works OK but won't load all models you try and there's no animation support.
markcwm/assimp.mod

Rha commented:

Thanks Mark for the indepth explanation. I was recently on the Nim language site and was considering it for a future project when I ran across Openb3d in one of their threads. This is what made me ask this question in the first place. I do appreciate the explaining, i think it best to hold off on Openb3d until some of the above mentions get looked at. I'm 2 projects deep right now, other than that I would love to help further develope openb3d along.

Thnak you.

markcwm commented:

Hi Rha,

you're welcome, yes the Openb3d DLL has been wrapped by quite a few languages, Angros uses FreeBasic and there's a long thread there on it.

The Blitzmax wrapper has a lot of functionality that isn't in the library, like the DDS loader, streamed textures and meshes for loading from Zip and Incbin, 2d-in-3d drawing with Max2d, and others as well as the bug fixes that never got added officially sometimes, like the ellipsoid collision bugs and recently terrains. But yes it's still not ready yet for serious projects.

Good luck with your projects, which I assume are a secret!

Rha commented:

Good luck with your projects, which I assume are a secret!

Nah, not really a secret, just getting the underlining systems in before i start pumping it up to much.

Anyways, a couple screen shots of my blitz project - https://ibb.co/Kqtwx8m

markcwm commented:

WOW, very nice work there Rha. Blitz3D I assume.

What is the GUI you're using? And what are you using to cast shadows?

Rha commented:

No real time shadows, baked shadowmaps, the gui is a library I created myself using FastImage , compiled blitzmax, giles[s] beta, maxgui for the editor, re-worked particle candy + homebrew 2d particle system for the UI.. I tried forever to convert spritecandy over to bmax but couldnt get passed a few chunks so gave up and pretty much re-wrote the same system in bmax but using fastimage.

Small video with some of the gameplay/controller systems working

markcwm commented:

WEEE, looking like a lot of fun there Rha! Thanks for the alpha video and for the technical details.

It's nice to see you using Blitzmax but I have to ask, is there anything you're doing that isn't possible in Blitzmax Openb3d?

And did you port Particle Candy to Blitzmax?

The 2d and 3d art is really good. Are those characters animated .B3D?

BlitzCoder commented:

Looking great. would be nice to have your next videos or screenshots posted on the showcase section for better visibility and on topic.

Anyways, a couple screen shots of my blitz project - https://ibb.co/Kqtwx8m

somehow the images does not show up on my end, perhaps due to anti-malware with this sketchy ibb hosting, so better use imgur.com and you can just drag the images in the text editor and it will autoupload.

Rha commented:

My apologies RonTek, the original topic sprouted roots and took off a different direction. :)

I'll setup a project log.

Thanks.

BlitzCoder commented:

No worries, not necessarily a worklog but yea either way cheers.

Reply To Topic (minimum 10 characters)

Please log in to reply