New here - which is best b3d or 3d add on module..

BlitzMax Forums/OpenGL Module/New here - which is best b3d or 3d add on module..

Duffer(Posted 2013) [#1]
1) Irrlight Module;

2) miniB3D;

3) maxB3D;

4) Warner's engine; or

5) Some other engine?

Why?

Which is most supported? and which is most up to date?

Many thanks for tips in advance (just purchased BlitzMax and BLIde Plus in a move away from DBPro)....


Kryzon(Posted 2013) [#2]
What kind of 3D game are you trying to make, and what are your target platforms and compatibility?


Captain Wicker (crazy hillbilly)(Posted 2013) [#3]
3Impact and Flow3D are both feature rich. either of them are no longer being developed.
3Impact: http://web.archive.org/web/20121124023401/http://www.3impact.com/
Flow3D: http://www.flow3d.org/
Flow3d and 3Impact has all DirectX9 features of DBP, and more..


Duffer(Posted 2013) [#4]
@ Kryzon and CaptainWicker,

Many thanks for the postings.

So you would rate Flow3D or 3Impact over maxB3D or Irrlicht?

To answer Kryzon's query, ideally a 3d came with skysphere and terrain, trees, animated 3d entities...


Kryzon(Posted 2013) [#5]
I don't know what state Flow3D was left in, but it should be usable for hobbyist game dev.
Other than that, I'd go to the Irrlicht module and then MiniB3D (in that order).

MiniB3D is guaranteed to work, but then it's a very simple engine - that's why you should try more complex ones first.


Duffer(Posted 2013) [#6]
@ Kryzon,

Thanks for the advice, I may try and dig in with the irrlicht one - looks like it could be very versatile.


GaryV(Posted 2013) [#7]
3Impact is a dead and unsupported product and really shouldn't be considered for legitimate projects.

Welcome to the community.


Hotshot2005(Posted 2013) [#8]
EITHER

2) miniB3D;

or

4) Warner's engine

Good Luck :)


Duffer(Posted 2013) [#9]
@ Hotshot2005,

As I say new here, spent a good time yesterday chalking up all the really useful modules and building them - strangely therapeutic...

I thought maxB3D (he says, having just read the forum comments) has a more comprehensive command set than miniB3D? How does Warner's engine compare? Why do you prefer them to the irrlicht one or maxB3D?

Sorry to keep asking but if I'm embarking on a few new big projects and putting all my chips really on a certain 3d module for BMax want to get it right first time.

As I say, I'll be looking to generate terrain, water shaders perhaps, limbed 3d objects...


UNZ(Posted 2013) [#10]
See
http://www.blitzbasic.com/Community/posts.php?topic=99267
Post #4 for my opinion (irrlicht)


kiami(Posted 2015) [#11]
I search for 3D for BlitzMax once a year. Wrapper is not a good alternative. Does 3D wrappers work with physics engines wrappers? Physics engine wrapper should be written to work with specific 3D engine wrapper. This is messy. It seems the best approach is native engines. For 3D, switch to Blitz3D and its libraries, like fastLibs. However, that library works with older version of Blitz3D. For serious work, it seems Unity is the answer. Since I don't do serious game programming, I don't use Unity, I don't know how good or enjoyable it is. I read a book about it, it is like Maya, Access, you do GUI things, then script the behaviors, it should take the joy of programming from you. After a while, with Unity like products, you become stupid, they become smart.


Brucey(Posted 2015) [#12]
For 3D, switch to Blitz3D and its libraries

Blitz3D doesn't seem to run on my Mac...


markcw(Posted 2015) [#13]
Does 3D wrappers work with physics engines wrappers?

Not yet but I do plan on getting at least Itmbin's newton wrapper working with Openb3d, it looks very good.

The Openb3d wrapper now wraps all fields/globals of the main Minib3d types like TCamera, etc. so it should be easy to convert Minib3d projects. All data members are pointers or objects so the debugger will tell you where to just add [0] after the variable name. Then for EachIn loops you need to call eg. CopyList(TCamera.cam_list) before the loop - the list of internal lists is in openb3d/openb3dlib.bmx. So that's all you need to do.


feeble1(Posted 2015) [#14]
Hey munch, since you have expressed an interest, this might give you a start.


http://tempsend.com/292C72DE79

It is Itmbin's wrapper and Openb3d.

@kiami, follow Openb3d, Angros and munch are actively working on it.


markcw(Posted 2015) [#15]
Thanks feeble1! I will try it out.

However, I didn't realized Itmbin's wrapper was Win only and closed source.

I don't think I am willing to work on any physics module unless it is cross-platform.


feeble1(Posted 2015) [#16]
Well, Zethrax claims that the source is open now and provides the source code here: http://www.blitzbasic.com/Community/posts.php?topic=99274

But nothing is certain without speaking to the developer.
It does have potential and is what Blabz is using for physics in the RTS Creator AFAIK.


skidracer(Posted 2015) [#17]
The best 3D I have seen on this particular forum (BlitzMax OpenGL Programming) was from Grover.

If you teach a programmer how to build a 3D engine etc.

I think most come to the conclusion that there is no single 3D solution for BlitzMax and unless you are building it yourself you are joining an awful large number of others in realising why. Or to answer the original post, don't ask me :)

I think it is a shame that leadwerks abandoned BlitzMax for a nonexistent mobile market. His engine played nicely in MaxGUI as is illustrated by his editor and it seems to have established a healthy user base.


markcw(Posted 2015) [#18]
Thanks for that link Skidracer, lots of OpenGL goodies there by Grover.

I have been looking at Kfprimm's Newton module and Maxb3d. It looks pretty awesome work but I haven't got the Newton module working yet.


kfprimm(Posted 2015) [#19]
Hey munch, I haven't done much work on it in a long time. IIRC, I only ever had the Newton integration completed on a very basic level. It probably wasn't a good idea to update the version as I did recently.

Let me know if I can be of any help. You can reach me via GitHub or the email in my profile.


markcw(Posted 2015) [#20]
Hi Kfprimm, thanks!

As far as I can see your wrapper is the only source wrapper of Newton around, I guess because it's such a big job to wrap it! Unz made a library wrapper for Newton released as newton_wrapper_pre_alpha.zip (the download has gone now) for Gman's Irrlicht module I'm really interested in a source wrapper though, so I'm going to look at other physics engine wrappers now.

However, using the older version of newton-dynamics you point to on Git the maxb3d/doc/physics.bmx example nearly worked on Linux but segfaulted, in Win it gave quite a few undefined reference errors. So just a question, do you know the older version number that worked?


kfprimm(Posted 2015) [#21]
Turns out the segfault was a result of not turning on the garbage collector. The sample now works, at least on OSX. I upgraded the lib to 3.13 in the process.


markcw(Posted 2015) [#22]
Hmm, I don't know how to send messages on Git, so I'll just post here. Maybe start a new thread?

Using your latest versions I was able to get Newton running on Mac but not on Linux or Win (same issues as before). I converted example00 from Itmbin's wrapper and it seems the cube shrinks as it collides with the floor, although it only happens when it rolls over.

On Win7 these are the undefined reference errors, and as far as I know I haven't got a problem with my MinGW setup. I think it is an issue with pthreads being Unix-based. Edit: removed repeat references.

And I noticed the example doc/samples/kfprimm/anim.bmx doesn't animate when you press D, on any OS. The mak/dragon.bmx example works wonderfully though.


markcw(Posted 2015) [#23]
Ok I got round the pthread problem but it now MAVs at "SetCollisionDriver NewtonCollisionDriver()".

To get it to build I edited prime.newton source.bmx to include pthread.c in Win only. I also removed 3 files in source/physics that were repeated.



kfprimm(Posted 2015) [#24]
Cool, thanks! It's probably failing on NewtonCreate(). That's going to require more investigation.

I'm out of town for the next week so I'll only have access to my MacBook & a linux install. In the meantime, I've opened a GH issue. Let's switch over there for discussion.