GL Specification with BMX please!!

BlitzMax Forums/OpenGL Module/GL Specification with BMX please!!

visionastral(Posted 2005) [#1]
First, excuse my english, i'm spanish.

Hello, I have experience in Blitz3D, VB, C++, Turbo Pascal and ASM. Actually i'm VERY interested in buying BlitzMax.
The main reason is to do OpenGl apps who can run in a variety of systems (cross-platform) without having to rewrite all the non-OpenGL code.
However, there is some dark specs in BMX I want to know before buying:

BlitzMax is supposed to fully implement OpenGL v1.2,
ok, BUT, multitexturing was NOT implemented in this version, it was implemented as an ARB extension in v1.21... I can hardly imagine making a game without multi-texturing....

I have read all the BMX-OpenGL topic and I do know you are using OpenGL commands from versions HIGHER than 1.2 (pixel shaders is only implemented in v2.0!)

SO, can you please explain me what is going on here?
Is OpenGL v2.0 avaible thru BlitzMAX?? (i will be SO happy if it is...)

You know, v2.0 is not really "necessary", but commands from v1.3 REALLY REALLY ARE!!

I specially NEED to know if multi-texturing is avaible in order to do some fast/quality work to run multi platform.

In adittion to that, does someone know how to be aware of what is and don't is hardware accelerated within an OpenGL app with BlitzMAX? in order to choose the fastest way to do stuff, because the user can have a very large variety of graphic hardware who can be very different from mine.

Thank you very very much.

ps: multi-texturing= more than 1 texture in a single pass with hardware acceleration. (for those who don't know. But, if you are reading this topic, i suppose you do know this and far more xD)

BlitzMAX will rule the world! muahahaha xD


bradford6(Posted 2005) [#2]
BlitzMAX also uses GLEW (GL Extension Wrangler) to handle extensions up to the 2.0 level


N(Posted 2005) [#3]
You use Glew to access extensions, newer functions, etc. so you have to call glewInit( ) after creating your GL context. The recent 1.10 update included the latest version of Glew with support for OpenGL 2.0 extensions and all that stuff.

I was more expecting you to ask for the OpenGL specification documents with BlitzMax, to be honest.


visionastral(Posted 2005) [#4]
Thank you very much.

Noel,I already have all the opengl documentation and specs, but I was afraid BlitzMax doesn't had opengl support for newer versions of OpenGL.

However, I went to the Glew home page and tested the basic commands from it in bmx with no results!
(the commands to test the presence of specific commands and to retrieve the opengl version installed are simply not found)

It makes me wonder if the glew lib integrated in bmx is a custom version or perhaps it's my blitzmax app (i'm using the demo v1.09)

Another thing i don't really understand is why bmx don't come with a simple opengl example code doing really basic things (because the demo of the texture rendering is quite advanced and is not suitable for a beginner in opengl at all)

I think Blitz Research should expand the help file about opengl, because the compatibility with opengl + the multi-platform ability of blitzmax is the most powerfull specs of the product. (even if some of coders don't do opengl at all and are not interested in it)

Another thing I don't know is how to compile for another system diferent from the one installed.
It don't seem to be an option to do that (unless it is not present in the demo).
It means you have to compile your bmx code in MacOs X, WinXP and Linux to have your app in the 3 systems bmx support?
If it is this way, you'll need a recent Mac, and a PC with WinXP and Linux on it... seems quite complicated to do updates of your app regularly this way, don't you think?

And a lot of peopple have only 1 machine, not 3 to compile.
Ok, you will need to test your app before releasing it in the 3 systems (perhaps more for linux) but this can be done by beta-tester who have the correct machines.

I know this post won't fix this issue (if it still happen in the non-demo version of bmx), but i'm courious to know what do you (bmx users) thing about that.

Thanks for reading :-)

-Edited-

Ok, I missed the OpenGL tutorials from Nehe present in the help of blitzmax, sorry :-b


marksibly(Posted 2005) [#5]
Hi,

Here's a little example for determining GL version and whether or not ARB_multitexture is available.

BlitzMax cannot at present 'cross compile'. True, this would be really cool to get going, but it's also really hard to do!




Perturbatio(Posted 2005) [#6]
Another thing I don't know is how to compile for another system diferent from the one installed.
It don't seem to be an option to do that (unless it is not present in the demo).
It means you have to compile your bmx code in MacOs X, WinXP and Linux to have your app in the 3 systems bmx support?

You do indeed need to compile it on the target platform.
Although GCC supports compiling for different platforms, bmk doesn't. I'm not sure how much work would be involved in having it compile for multiple platforms, but I suspect it's not at the top of Mark's agenda.

Any mac with OSX 10.3 or higher should do fine, although PearPC might do for compiling (just make sure you have a book to read). Some people have bought MacMinis as a cheap(er) solution than a full mac.


visionastral(Posted 2005) [#7]
thank you for answering so quickly! :-)

I understand that, if blitzmax uses Xcode to compile in mac environment, it can't be easy to port to pc! xD

It isn't a problem for me, I have 3 PCs and an Imac G3 and I suppose I will be able to install MacOS X on it for debuging purposes, but other people should only have one machine, you should explicit it in the product page. (and using an emulator would be great... if only it doesn't take 3 hours to install anything...xD )

And, Mark, you're doing a great work, BlitzMax explose ALL other multi-platform compilers, keep it on!
However, other multi-platform compilers have window related commands, wich is the only lack of bmx. If you can solve this limitation, every one will use bmx to compile multi-platform code.

-edited-

the code for testing opengl version and multi-texturing doesn't work on the demo version of blitzMax, however, purchasing it will solve the problem. xD


Perturbatio(Posted 2005) [#8]
However, other multi-platform compilers have window related commands, wich is the only lack of bmx. If you can solve this limitation, every one will use bmx to compile multi-platform code.


Might I direct you this way sir.
On your left you can see the 3D module in development, on your right the garage where the DX7Max2D module was created and just ahead is the planned location of the GUI module, completion date estimated as 1-2 months.


visionastral(Posted 2005) [#9]
Ok... I shout my mouth and go back to code something... xDD


Perturbatio(Posted 2005) [#10]
;)