BMax modules multiplatform or not?

Blitz3D Forums/Blitz3D Programming/BMax modules multiplatform or not?

Braincell(Posted 2004) [#1]
Since they took out General and Off Topic, i'll post here.

Topic name should have been "I think the important bmx modules will largely be created as platform dependent."

People say BMax will be/is multiplatform but that doesn't really mean much does it? A module created in Window$ with DirectX references, commands and stuff will not work on a linux box will it. Modules working with DLLs are another example. But if modules are just a different name for included .bmx files, then they can be multiplatform but there won't be much use for them i guess.

I am not expecting to be able to cross "anything anywhere", in fact i'm expecing only slight compatibility in most cases. I can see how OpenGL might work, but very soon we might see that many modules written on one platform will just not work on another.


Dreamora(Posted 2004) [#2]
As you can compile C and CPP files to BMX it should be possible to create multiplatform libs as long as you don't use platform dependent stuff.


Braincell(Posted 2004) [#3]
Yea but i'm asking what you people think, will there really be that many platform INdependent stuff that we will be using so that most things can be easily switched back and forth?

I guess my main concern is DirectX since thats one big request for bmax and its not multiplatform. Its contradictory.


N(Posted 2004) [#4]
I guess my main concern is DirectX since thats one big request for bmax and its not multiplatform. Its contradictory.


It's not contradictory, it's in the best interests of those requesting it- the people who don't care about their software being available on multiple platforms. Myself, for example.


Braincell(Posted 2004) [#5]
Yeah but i mean we (some of us) want Dx9, meaning we want single platform. And Mark wants multiplatform. Thats contradictory, in a way.

We'll just wait and see how much will actualy be multiplatform but its just my guess ppl will use quite a lot of platform dependent stuff.


ashmantle(Posted 2004) [#6]
I'd say you just have to plan your programming accordingly if you're going multiplatform..

If you're using DirectX stuff, you have already made a decision on this wouldn't you agree?


GW(Posted 2004) [#7]
Unless someone writes a Max2D module in DX9 that exactly duplicates the commandset of the current Max2D set.
That would be pretty cool.


Dreamora(Posted 2004) [#8]
DX has one thing opengl hasn't ...
in DX you have pointsprites on all systems while on opengl it is a Nvidia only extension ...

very usefull and cool thing for particle systems! ( i somehow think this was the reason it exists ;) )


poopla(Posted 2004) [#9]
Point sprites(if I recall) are somewhat limited in application. Not only that, but point sprites went(going?) core in oGL 2.0, so not much difference.


Dreamora(Posted 2004) [#10]
don't know if they are core in a OGL version that needs another year for real support ( or even longer ) on Windows side.

I've seen some nice particle stuff done with then in DX 8 when they were introduced ...


skn3(Posted 2004) [#11]
That part is where the programmer comes in. If for example you have written a cross platform gui lib using the native gui api of each os. You would have to include versions of your code that will work with each. To the user of the module it would be transparent. They could compile on all three platforms, and get very similar results. A button would be a button., a window a window. But for the module maker it would be 3 times the work, they would have to include for each api reference, 3 versions. One for each host os.
?MacOS
Import "-framework AGL"
Import "-framework OpenGL"
?Win32
Import "-lglu32"
Import "-lopengl32"
?Linux
Import "-lGL"
Import "-lGLU"
?

( taken from http://www.blitzbasic.com/Community/posts.php?topic=41266 )