3D Engine.

BlitzMax Forums/BlitzMax Programming/3D Engine.

D4NM4N(Posted 2007) [#1]
What cross platform 3D engines are currently fully functional and able to be used in BlitzMax at a wrapped and ready to go status ? Fast collisions are a must have for what i need to do. So far i have found minib3d and irrlicht but wondered if there were more.

This is not another whiny "wheres the 3D thread", i understand where mark is going with BMAX and i think its great.

I am especially interested in finding a fast, well supported OGL engine that has good linux and windows support (mac too mabe later).
Whats everyone else using, on what and how do i find the idiots-get-started guide ?


N(Posted 2007) [#2]
Truevision 3D. This won't do you any good if you're looking for cross-platform support.
Irrlicht. Not really that nice of an engine.
MiniB3D sort of, if you consider it fully functional despite being a more or less constant work in progress. Not really that nice of an engine, since it's trying to cram a lot of advanced features into an API that just wasn't meant for it.

If there are others, I'm unaware of them. I use my own engine, but it's not going to be available to others unless I get around to cleaning it up, documenting it, and cleaning up the public interface so it's usable for more than just my work. Frankly, it's not even intended for games, so it's not very suitable for that either.


ImaginaryHuman(Posted 2007) [#3]
There really needs to be a sticky thread about "the current state of 3d in blitzmax" since this is being asked over and over and over and over again.


D4NM4N(Posted 2007) [#4]
i agree


simonh(Posted 2007) [#5]
since it's trying to cram a lot of advanced features into an API that just wasn't meant for it.

Not really true - the 'official' version of MiniB3D features a subset of Blitz3D's commands, nothing more.


Dreamora(Posted 2007) [#6]
You already have a serious problem.
You said: Good Windows Support.
This nearly explizitely forbids OpenGL.
In that case you better focus on an engine that has OpenGL and DirectX support.

This at normal means Irrlicht or an engine that uses OGRE for the graphical backend. (there are different ones).

Irrlicht has been wrapped and would most likely be a point for you to start off and extend if you need more.
OGRE, there have been engines using it but they were all DLL based so no cross platform.


D4NM4N(Posted 2007) [#7]
Im playing with irrlicht in bmax right now, Ive no idea what the example code does yet though. There doesnt seem to be any simple logic... for example, where is the control code for the mouse and keyboard in the quakelevel example, yet there it is, working controls. :? Ive also noticed naitive blitzmax commands like keydown etc no longer exist.


N(Posted 2007) [#8]
Not really true - the 'official' version of MiniB3D features a subset of Blitz3D's commands, nothing more.
That's fine if you want DX7-level features only.


H&K(Posted 2007) [#9]
where is the control code for the mouse and keyboard in the quakelevel example, yet there it is, working controls.
In the camera creation.
When you created the camera you created (in the quake one) an FPS camera.


D4NM4N(Posted 2007) [#10]
I *think* im beginning to understand more about the way it works.
I wish the complete documentation was on a PDF i could send into my jornada as an offline reference guide.


slenkar(Posted 2007) [#11]
http://www.coldsteelengine.com/

anyone tried this?


LarsG(Posted 2007) [#12]
aye.. Coldsteel looks nice, but I don't know much about it..


Picklesworth(Posted 2007) [#13]
I personally prefer OGRE, as its design seems unusually straight-forward. It is a 3D rendering engine, and it leaves it at that, accepting that that job is complex enough, without the addition of FPS cameras and automated rotation of entities. (Regardless of how many precious lines of code it will save the end user).
In other words, it is not dumb like a lot of other bloated 3D engines out there.

On that thought, does anyone know the status on FLOW (the very good Ogre wrapper)?


LarsG(Posted 2007) [#14]
yeah, we need some news on Flow as well...

I recall reading some teaser post/thread, but that was a long time ago..


N(Posted 2007) [#15]
That's Irrlicht you're looking at. Jedive just added some fairly low-quality tools (no offense, but they aren't very good), AngelScript bindings, etc. and sold it. I'm not sure if it's even being supported anymore, it was already pretty terribly handled from the beginning.


Sledge(Posted 2007) [#16]
That's Irrlicht you're looking at.

It's really odd that Irrlicht (via BMax and C++) looks fine on my PC but coldsteel's rendering is a fair ol' mess. :/


Chroma(Posted 2007) [#17]
All I need is a DX9 version of Blitz3D. I think that's what everyone wants. Too bad no one will do it.


Gabriel(Posted 2007) [#18]
I think that's what everyone wants.

I don't think so, but I do note that the few who do all seem to share the view that everyone does :)

Too bad no one will do it.

Several already have. Hard to generalize, personal opinions being what they are, but I'd be inclined to say this is probably the closest ( others will probably say 3Impact or MiniB3D are closer ) :

http://www.dreamotion3d.com/news.php

I agree with ImaginaryHuman about a sticky thread somewhere, because some of these engines are being criminally ignored. Dreamotion in particular is hardly ever mentioned, but seems to be an excellent engine.


H&K(Posted 2007) [#19]
I do note that the few who do all seem to share the view that everyone does :)
Weird isnt it?
On this note, one of the really clever things Gman has done, is IrrB3D, which if you dont know IS the B3D 3D command set written in Irrlicht, so B3D in DX9 in Bmax. (and Its Functions calling Methods, so member access code completion in BLide)


Dreamora(Posted 2007) [#20]
Dreamotion is nice but has some massive differences to B3D and has (had?) a few elemental commands missing while eye candy stuff was supported to the highest level. (with elemental commands I mean correctly working animation and collision, stuff much more important than reflection and HLSL support)


Gabriel(Posted 2007) [#21]
On this note, one of the really clever things Gman has done, is IrrB3D, which if you dont know IS the B3D 3D command set written in Irrlicht, so B3D in DX9 in Bmax. (and Its Functions calling Methods, so member access code completion in BLide)

I wasn't sure that was complete enough to be used. If it is, that would indeed be a good choice. Probably a better choice.


errno!(Posted 2007) [#22]
Get Truevision + Gab's wrapper. So far i've found it to be quite literally a next gen oop version of Blitz3D.

very easy to use with advanced features like shaders and rendertargets.

even has newton physics iirc.


LarsG(Posted 2007) [#23]
If TrueVision had only been cross-platform.. :(


D4NM4N(Posted 2007) [#24]
I noticed something a bit strange when using irrlicht in blitzmax. The examples seem to compile and work fine (intrestingly none of which seem to use the "Ib3d_" prefixed command-set) but rather the actual irrlicht-style commands. Are there any examples available for the command set itself?
When I tried to replace the video init part of the code with the ib3d_graphics3D command it said that it was an unknown identifier.
Mabe i did something wrong when i installed the mod :/ Also, under modules help i am not getting the commands.html appearing


Chroma(Posted 2007) [#25]
I don't think so, but I do note that the few who do all seem to share the view that everyone does :)
Wrong. A lot do, you're just all into the TV3D thing. I dont' blame you though. If I was selling a 3d wrapper I might have the same biased opinion.

Several already have.

Possibly, but not with the same functionality of Blitz3D.


Chroma(Posted 2007) [#26]
On this note, one of the really clever things Gman has done, is IrrB3D, which if you dont know IS the B3D 3D command set written in Irrlicht
I'll check it out, thanks.


Dreamora(Posted 2007) [#27]
D4NM4N: did you import the ib3d module as well etc?
Otherwise it will not know it.
Most might be targetting using irrlicht in its pure form as it has capabilities B3D won't give you, nor a B3D command set clone will just due to the way the irrlicht works differently.


N(Posted 2007) [#28]
Wrong. A lot do, you're just all into the TV3D thing. I dont' blame you though. If I was selling a 3d wrapper I might have the same biased opinion.
I don't sell a module for anything and I'm agreeing with him. Your unusual opinions seem to apply to everyone when you're talking, and then you only hear that thing from a handful of people.


D4NM4N(Posted 2007) [#29]
i did now, i changed framework irrlicht.core to irrlicht.b3d and it seems to be working good.

This is wicked! im very excited... :O new trousers time, (excuse me..)


FlameDuck(Posted 2007) [#30]
Wrong. A lot do, you're just all into the TV3D thing.
If by a lot you mean "less than 20", then sure. I'll give you that the cadre of DX9 B3D whiners are quite vocal tho', giving the impression there are more of them than there actually are. But here's the thing. There is no way to upgrade Blitz3D to DirectX9. Why? DX7 uses fixed T&L (implemented by graphics card vendors) where as DX9 uses programmable T&L (implemented by shader programmers) - and the interface is somewhat unsurprisingly, not the same - so it would require a complete rewrite, and you would get no extra functionality (because the Blitz3D command set is designed around the way DX7 operates, not DX9). Besides, why the hell do you want a new enginge/programming language, based on an obsolete API in the first place?

I dont' blame you though. If I was selling a 3d wrapper I might have the same biased opinion.
Except he's not. Nice try tho'.

Possibly, but not with the same functionality of Blitz3D.
MiniB3D has the complete functionality of Blitz3D, with extra cool things (no unreasonable limit to the number of vertices or polygons each surface can have for starters).

I don't sell a module for anything and I'm agreeing with him.
Ditto.