MiniB3D features list

BlitzMax Forums/MiniB3D Module/MiniB3D features list

Naughty Alien(Posted 2007) [#1]
..hey guys, can anyone post precise and full list of miniB3D features..is this extension for BMax working on MAC? And i use to read (I cant remember exactly whos author, but someone said that there is a version whats supporting even shaders)..anyway, I would like to know full list of features as well as compatibility with Mac OsX...thanks in advance..


tonyg(Posted 2007) [#2]
There's a commands.html which show the B3D commands currently included that comes with the small MiniB3D download. You can use the B3D manual to see what each of the commands does.
There is an FAQ which has virtually nothing in it other than the answer to the Shaders question.
I'm guessing you can't see the minin3d forum in the Bmax section which has contains this about mac support (e.g. yes mac/linux is supported.


bradford6(Posted 2007) [#3]
miniB3D looks like it is shaping up to be a command by command replica of Blitz3D. The differences are noted in the readme.txt file of the download.

The most obvious difference is that it uses OpenGL instead of Direct3D. This allows it to be cross platform (Blitz3D is windows only)


when you install the miniB3D module and build mods. the help docs are generated.
alternatively, the online Blitz3D docs will help as well.

simonh has stated (somewhere) that a goal for minib3d is to support as wide a number of end user systems as possible (along the lines of the Blitz3D directx7 footprint) which leads us to...

Klepto2's extended miniB3D module
user Klepto2 has extended miniB3D to support more modern hardware and features.

Notably
1. It Adds support for shaders using GLSL (Open GL Shading Language)
2. Adds support for VBO's (Vertex Buffer Objects) that can improve render speeds.

also, Klepto2 is working on a cross-platform module for Newton Game Dynamics that will add physics support to mini-b3d.

all in all, I have been extremely impressed by simonh and Klepto2's work. I was initially reluctant to invest my (very limited) time into what I saw as 3rd party, inferior stopgap before Max3D was released. How wrong I was!! I see the project as a full-fledged 3D solution for BlitzMax. It is stable and does what I expect it to do. Simon and Klepto are extremely helpful and diligent. (Mark Sibly seems to be supporting miniB3D as well by offering code fixes/optimizations and overall BRL support)

I was able to knock up a full Object Oriented 3D game prototype in about 3 days (part time) and I would call my programming skills 'medium'. I am not a professional programmer(I know that is obvious to most of you :) )


puki(Posted 2007) [#4]
Will MiniB3D get DX9?

I want DX9 and won't settle for less.


LarsG(Posted 2007) [#5]
Puki; I wouldn´t hold my breath.. ;)


ShadowTurtle(Posted 2007) [#6]
In next time i went for adding own render methodes (software rendering, ogl, directx etc.) as seperate modules. Is this possible?


simonh(Posted 2007) [#7]
Something worth mentioning is that Mark has generously handed me the source code to the guts of the Blitz3D engine, so the potential exists in the long-run for MiniB3D to behave virtually identically to Blitz3D.

To begin with I'm converting Blitz3D's collision system, as it is superior to MiniB3D's own system.

As for a DX renderer, that's a possibility.


patmaba(Posted 2007) [#8]
simonh,

I have a question not about minib3d. Have you an idea if max3d the 3d engine by Sir sibly coming soon ?

Lot of old french members leave blitzmax to another language because blitzmax have not a standard 3d engine who had made his success with blitz3d.

In secret, minib3d will be the official max3d when features will be large, stable and complete ?

patmaba


puki(Posted 2007) [#9]
Oooh.

Tell "Sibly" and "Armstrong" to help you build this MiniB3D into a glorified Blitz3D2 thing.

It shall grow strong like me and become interesting like me.


H&K(Posted 2007) [#10]
Mark has generously handed me the source code to the guts of the Blitz3D engine
That is very generous. I for one would have paid for a MaxB3D add on (With a seperate Max3d as a seperate addon). Afterall I paid for A BPlus addon (MaxGUI).


puki(Posted 2007) [#11]
I'll pay for DX9.


TheSin(Posted 2007) [#12]
DX9 is crap. If you want an render-API that is against the principle (cross-platform) of BlitzMax then you should ask for DX10! =) No seriously, I can't see the point of implementing DirectX 9 in BlitzMax. What's wrong with OpenGL?


Barbapapa(Posted 2007) [#13]
This is really very generous of Mark. This leads to two conclusions for me, first, Max3D will need some time to be finished but will be a state of the art 3d engine and second, a full Max B3D will keep people happy without being a concurrent to the mega Max3D. In any case, it's a wise and very kind move. Thanks Mark and thanks Simon for all your efforts. In case you would like some donation to support you, feel free to set up a paypal donation button.


bradford6(Posted 2007) [#14]
puki just likes to stir the pot. We all love puki.

OpenGL is used by Macs, PS3, Linux, Wii, Windows XP and yes, Even Windows Vista (natively)

Direct3D is used by windowsxp and vista only.

MS initially was going to cripple OpenGL on Vista by layering it on top of D3D but they have since changed their strategy. (huge developer outcry)

OpenGL is here to stay.


generous of mark



I agree. by Mark offering up the sourcecode and lending a helping hand to Simon here and there, it has helped with some speed and stability and creates more of a "semi-official" feel to the whole thing.

I think Mark gains tremendously from this as well as miniB3D has released some of the pressure from the "When are we getting Max3D?" pot.

BlitzMax offers the perfect programming environment for miniB3D. since Max was released I think alot of folks thought
"hmm, now if there was just a way to do Blitz3D stuff within Blitzmax..."


Plantagenet(Posted 2007) [#15]
Well said, mini-B3D will be the reason I buy blitzMax.


caff_(Posted 2007) [#16]
Could now be a good idea to package this as part of the Blitzmax product? I'm sure it would boost sales of Bmax.


bradford6(Posted 2007) [#17]
Personally Caffy, I would not roll minib3d with the official mods just yet.

miniB3D is fast and very stable but I think it is now just 'hitting it's stride' with more and more users trying different things.

Simonh has been incredibly attentive to bug reports, performance issues, etc and giving miniB3D a few more revisions could only help it's cause.

Sometimes putting the 'official' stamp on things too early draws unfair scrutiny.

With that said, I am 100% satisfied with the current state of miniB3D. I have been trying many different scenarios, speedtests, etc and I have not found a showstopper yet. Being able to go through the source when i get stuck has been a HUGE help. It is really nice to be able to understand what is going on under the hood.


impixi(Posted 2007) [#18]
Personally Caffy, I would not roll minib3d with the official mods just yet.


I agree. Simon has done a brilliant job, and for many (most?) 3d apps it will do the job, but there are some cases where it may not perform as hoped.

There are two issues that are preventing me from utilising MiniB3d at this stage.

1. Collisions. I’m not seeing decent performance when incorporating moving objects. Example: I have a flat landscape of trees, and moving projectiles, all collideable – speed noticeably stutters. Equivalent Blitz3D code does not exhibit this problem. Perhaps I’m not properly utilising octrees?

2. BlitzMax 2D commands cannot be mixed with MiniB3D. I’m aware of Klepto2’s RenderWorld modification and I was using it, but it does not seem to work in MiniB3D 0.41. I’m also aware that you can use Sprites for some 2d operations (eg simulate a HUD, etc), but I have yet to test this. Could I implement a 2d overhead map that updates in real-time, or status bars, etc? Would there be significant performance tradeoffs? I need to investigate this further.

Anyhow, they are the issues I’m facing with MiniB3d at the moment. I’d be happy to post some code examples if anybody is interested…


impixi(Posted 2007) [#19]
Code demonstrating the collisions (I think) issue: NightPlains01.zip - 990kb approx.

Move while rapidly clicking the right mouse button:

* BlitzMax + MiniB3d version - some noticeable 'stuttering' in all modes (debug/release/windowed/full-screen).

* Blitz3D version (included) - no ‘stuttering’ even though it’s architecturally very similiar. Media is the same.

Perhaps the issue is not MiniB3d’s fault, but rather BlitzMax or OpenGL? Or I’ve done something stupid?


Barbapapa(Posted 2007) [#20]
Hi impixi, I can't test the Blitz3D Version, maybe you could compile it. The MiniB3D version runs ok here, I get ~40 Frames/Sec on an old Pentium 4 2,66 MhZ with a prehistoric GraKa GeForce Ti4200. Of course for a shooter it would be too slow in the end. Without debug it only runs slightly faster . Nice trees you've got.


LAB[au](Posted 2007) [#21]
Try "Flip True", I always enable it when working with OpenGL. I didn't notice any stuttering (with Flip True). MiniB3D version runs at 60fps, B3D version at 58 fps on my GeForce 7800 Go.


impixi(Posted 2007) [#22]
Ah, crap. I don’t know what the hell is going on. I see ‘stuttering’ with MiniB3d no matter what I do. Both my chipsets are ATI, so perhaps it’s an ATI OpenGL driver issue? [sigh]

Thanks for testing, guys.

EDIT: But it does only happen when collisions are enabled. If I comment out lines 182 and 183 in NightPlains01-aa.bmx there's no 'stuttering'...


Difference(Posted 2007) [#23]
I get stuttering when firering too, even with flip true.

But if you look above ( http://blitzbasic.com/Community/posts.php?topic=67604#755575 ) you will see that simon is implementing a new collision system soon:

Something worth mentioning is that Mark has generously handed me the source code to the guts of the Blitz3D engine, so the potential exists in the long-run for MiniB3D to behave virtually identically to Blitz3D.

To begin with I'm converting Blitz3D's collision system, as it is superior to MiniB3D's own system.



bradford6(Posted 2007) [#24]
The code is open source. Take a look at Tcollisions.bmx and see for yourself how complicated this is. Whichever way simon decides to go with collisions I am sure will be excellent


impixi(Posted 2007) [#25]

Take a look at Tcollisioons.bmx and see for yourself how complicated this is.



Heh. Which is why I have to wait for someone like Simon to code it for me. ;)