erm, OpenGL ?

BlitzMax Forums/BlitzMax Beginners Area/erm, OpenGL ?

SillyPutty(Posted 2005) [#1]
Hi all

First off, I was an opengl crusader for many years, I am not saying it is dead, but what exactly is happening with OpenGL in the industry ?

Sure Doom3 may use it, but that is about it, save a few.

Is there good news out there ?


Cajun17(Posted 2005) [#2]
Well unfortunatly OpenGL is starting to fall behind DX... I had speakers come to my school that are in the industry and they made it quite clear that DX 10 is much more powerful than openGL. They use multiple open source utilities and engines, but openGL is just not cutting edge enough.


SillyPutty(Posted 2005) [#3]
so my investment was all in vain ?


teamonkey(Posted 2005) [#4]
Well it's still the standard for the non-gaming 3D industry, it's a necessity if you're doing non-windows stuff, and with OpenGL 2.0 only just out the door and DirectX 10 still a year or two away I don't think it's going anywhere.

The thing about OpenGL is that it has an extension mechanism that means you can use whatever features the graphics card manufacturer chooses to include. So you get access to the new features right away, but it takes a while for them to become "standard" and even longer for them to become "core". But to say that OpenGL doesn't get new features straight away is just plain wrong - often the extensions are available for OpenGL before they reach the DirectX core.


Dreamora(Posted 2005) [#5]
There is no DX10

The next API by MS is WGF which is finished according the last informations on it.
But this one is no DX anymore and won't be compatible to pre Win2k systems.

DX9c has enough of stuff that OpenGL has not as standard ( there are a lot of things you some of the GPU manufacturers have but lot of extension stuff is card specific ), so for the last 1-2 years enough things that OpenGL will have to take care off.


ImaginaryHuman(Posted 2005) [#6]
I like OpenGL so far, seems pretty well supported on the Mac. I guess this is sort of more of a `assume everyone uses Windows` question.

My only wish about OpenGL, at least in the older 1.2 version, is for it to have more support for READING data such as buffers, pixels, etc, because at the moment most of the pipeline is all about writing data and not so much about reading it at any great speed or flexibility.


SillyPutty(Posted 2005) [#7]
heh, all i want to know is that I have not gone and wasted money :)

I am just a tad worried at the moment


dynaman(Posted 2005) [#8]
Unless your planning on making the next cutting edge game you can rest easy. OpenGL won't be going away any time soon. Plus if you start making games for the mac or unix then DX wasn't an option to begin with.


SillyPutty(Posted 2005) [#9]
The thing is, everywhere you look it is DX, and OpenGL 2.0 has been a long time coming.

However, the life of DX may be cut short due to WGF ?

I really hope the 3d module is gonna kick ass.


SillyPutty(Posted 2005) [#10]
It almost feels like I should have bought Blitz3d :)


Shagwana(Posted 2005) [#11]
so my investment was all in vain
No, your investment is a good one. Maybe not now, but for sure sometime in the future it will pay its way.

The way I figure it, <someone> will make blitz work with directx and what ever this new api from m$ is. Just a matter of time.


SillyPutty(Posted 2005) [#12]
that is true. As I feared though, you are eluding to DX and not GL ?

You see that is my main concern. I aint nitpicking, just concerned about the state of GL.


SillyPutty(Posted 2005) [#13]
Let me just add that the community here is much more friendly that the other place I will not mention.

I see my stay hear will be a nice one ! :)


teamonkey(Posted 2005) [#14]
There is no DX10

The next API by MS is WGF which is finished according the last informations on it.
But this one is no DX anymore and won't be compatible to pre Win2k systems.

DX9c has enough of stuff that OpenGL has not as standard ( there are a lot of things you some of the GPU manufacturers have but lot of extension stuff is card specific ), so for the last 1-2 years enough things that OpenGL will have to take care off.


WGF/Avalon will sit on top of DX10 (or DirectX Next, whatever the marketing people want), it doesn't replace DirectX at all.

To compare,

OpenGL 1.2 <=> DX7
OpenGL 1.5 <=> DX8
OpenGL 2.0 <=> DX9

But all of OpenGL 1.5, 2.0 are available as ARB standard extensions, which you can use if the card supports them. E.g. If you have a card which supports fragment shaders but doesn't have drivers for OpenGL 2.0, you will still be able to use shaders by using the ARB fragment shader extension (or in our case, just typing glewinit() ).


Bot Builder(Posted 2005) [#15]
oh, Microsoft did the whole "dx is for realtime gaming and ogl is for precision, slow gfx" way back in the day, when on the same comps dx would run slower than properly built hardware accelerated ogl. The problem is, all the winshite drivers are software emulations, so if you dont upgrade em, or your gfx card company has shite ones, people get a bad impression of ogl.

I'm not really worried about ogl being obsolete. It shouldn't be on mac or linux, as its the main gfx lib, right? So, I figure let mark make a 3d module and then either someone nice make a duplicate module for dx/windows, or demand rises high enough to force mark into it (unlickly). Sure there would be some problems with shader incompatability, but you would face that in any language, and probably any engine.


AdrianT(Posted 2005) [#16]
the problem with Gl is that it wasn't developed for games and the board that aproved specs was mostly from the scientific research and engineering side of things. Basicly a bunch of anoracks too short sighted to see the value of the realtime effects DX was producing. So thanks to those guys Gl has always dithered around and never had the opportunity to catch up with DX's rapid evolution and willingness to embrace new technology.

That being said v2.0 has a nice set of features, unfortunately hardware manufacturers tend to not support GL as well as D3D simply because there are few games for other platforms that require them. Perhaps with PS2 taking on Nvidia graphics hardware we may see more going on in th egL camp.

Unfortunately this doesn't help game dev much today. 95% of art tools that are any good use D3D vertex and pixel shaders, .FX files, DDS compressed textures etc. so its a real pain in the ass to develop anything with high end graphics features with GL. Particularly with all the bolt on extensions floating around that have little compatibility outside of the 2 big hardware manufacturers.


GW(Posted 2005) [#17]
I sure hope a D3D library is in the works. Have we all been forsaken for the 3% mac crowd? :)


SillyPutty(Posted 2005) [#18]
Yup, this is what I was worried about. Darn.


SillyPutty(Posted 2005) [#19]
Couldnt a Blit3D type module be possible ? Except a dx9 version ?


dmoc(Posted 2005) [#20]
What a load of FUD - people, do more ogl reading and esp coding to get an idea of what it's really about and why it's preferable to dx. There's also abit of chicken-and-egg going on here... your railroaded by ms on ms os to use dx, ergo you now think ogl is "dying". If everyone demands decent drivers then everyone will get decent drivers!

And re mac (os x): after a lifetime of shunning it I bought a mac mini around 4 wks ago. My windows boxes are now on there way out (probably followed by Linux boxes as well). Hell, I'm even looking into doing an osx server admin course. Apples problem as it turns out, for me at least, is failing to highlight the quality, ease of use and level of support. I did not even know osx was unix based until 2 months ago, so blind was I !!!


SillyPutty(Posted 2005) [#21]
Why is it preferable ? For Cross Platform only ?


Dreamora(Posted 2005) [#22]
There are good reason why it is not preferable: No OO!
So it is completely stone age out of software engineering sight ...
we have 2004 and creating large and complex software systems without OO isn't really preferable

There is a good reason why even MS rethought their stuff and created managed DirectX and drops the regular DX and COM complications in the future.


teamonkey(Posted 2005) [#23]
There are good reason why it is not preferable: No OO!

DirectX doesn't have an OO design either. Just because something's wrapped up in an object, doesn't mean it's OO.

95% of art tools that are any good use D3D vertex and pixel shaders, .FX files, DDS compressed textures etc. so its a real pain in the ass to develop anything with high end graphics features with GL.

Actually, most of the art tools support OpenGL. The major ones support both, of course. Have a look at Rendermonkey or the Cg tools.


SillyPutty(Posted 2005) [#24]
I agree with everything you guys are saying, I aint a dissident.

So at the end of the day, the question is this.

Is there a future for OpenGL, simple as that.


Dreamora(Posted 2005) [#25]
For Mac and Linux OpenGL has a future ... for Windows, I don't think that it will survive the jump to longhorn ( it didn't even survive the jump to .NET )

and Managed DX9 IS OO!
As mentioned, MS learned out of their COM chaos with DX5 - DX9


SillyPutty(Posted 2005) [#26]
Yes, this is true.

I am just hoping there will be a nice DX lib for bmax. And if needs be, and i want to release something for mac and linux, I may do so with GL.

The best of both worlds !


ImaginaryHuman(Posted 2005) [#27]
The future is what you make it. The future is not the product of the past. The past is just the end result of every decision that was made prior to that time and up till now. Even the way things are now, is just the result of previous choices. Absolutely everything can change regardless of how it has been up till now, so the question isn't whether OpenGL has a future but whether you intend to give it one.


SillyPutty(Posted 2005) [#28]
Now that is what i like, a person with optomism

lets hope you are right.

I have been playing with blitzmax today ( for the real first time ) and am enjoying it immensely !


slenkar(Posted 2005) [#29]
If Doom3 used it, it cant be that difficult to use


SillyPutty(Posted 2005) [#30]
I am not saying it is difficult to use, I know GL well, I am saying that future of GL seems cloudy. But that could change. Who knows ?


teamonkey(Posted 2005) [#31]
For Mac and Linux OpenGL has a future ... for Windows, I don't think that it will survive the jump to longhorn ( it didn't even survive the jump to .NET )

You can use OpenGL in .Net - what are you talking about?

and Managed DX9 IS OO!

Yes, managed DirectX is, but that's different. Managed DirectX is a Rapid Application Development wrapper around DirectX with basic stuff like model loading. It's very rarely used in games and even the most simple game engine will replace the functionality - in an OO style, if you wish. I'm sure the Max 3D engine will be OO in design too.

As for the future of OpenGL in games, many people are predicting that the stripped-down OpenGL:ES will take over in future, especially as that will be what is used by the Nvidia chip in the Playstation 3.


Dreamora(Posted 2005) [#32]
Erm there is only 1 .NET Wrapper for OpenGL and it is quite crappy ( 1.2 support only ).

I am not talking of using it in C++ .NET using its headers etc, but real .NET languages as C#, VB.NET.


You are right, MDX isn't used that much so far. but it will, as it will become the standard.
It is just a question of time, until .NET is a must on pre-longhorn windows ( although Win 2003 already has it as corepart ). Beside that they can just put it on the install CDs as they do with DX as well.

but on WinXP, managed was slower than unmanaged ( although with MDX and VS.NET 2003 the difference isn't groundbreaking anymore ... but MDX is quite new compared to unmanaged DX )


SillyPutty(Posted 2005) [#33]
The future is going to be very interesting indeed !


teamonkey(Posted 2005) [#34]
Erm there is only 1 .NET Wrapper for OpenGL and it is quite crappy ( 1.2 support only )

Under Windows you use the extensions mechanism (or something like GLEW) to get at the 1.3-2.0 functionality. There's better native support for OpenGL>1.2 in Windows XP 64-bit edition.


Dreamora(Posted 2005) [#35]
Problem is they are all C++ only, they have no .NET versions.

.h files are quite useless for .NET ( I use C# only ... I don't take C++.NET as real .NET language as it is mostly unmanaged ).

Last time I tried it ( about 5 months ago ), I spent hours on looking for .NET + OpenGL and the only thing was a long time not updated wrapper. If you have another one, I'm happy for any link :)

And better supports doesn't help as MS does not provide any opengl runtimes ( why should they? ;) ).

I think this is a core leak of the whole OpenGL thing. They give a lot of "funny rules" for it, but don't program anything themself and fully rely on graphics card manufacturer with their drivers and and volunteers that do their work. ( the header files are just implementation rules for the drivers that graphics hardware manufacturer have to follow if they want to support it )


dmoc(Posted 2005) [#36]
ogl is a *standard* that many people/organisations have cooperated to create. The biggest influence comes from gfx card manufacturers and, in the past, from MS as well. Hence, your finally statement is simply not true.


teamonkey(Posted 2005) [#37]
Problem is they are all C++ only, they have no .NET versions.

http://www.codeproject.com/csharp/SharpGL.asp
http://www.colinfahey.com/opengl/csharp.htm
http://dotnet.mvps.org/dotnet/faqs/?id=opengl&lang=en
http://nehe.gamedev.net/ (there's .Net and C# versions of the NeHe basecode to download)
http://www.taoframework.com/


And better supports doesn't help as MS does not provide any opengl runtimes ( why should they? ;) ).

Microsoft provide an interface between the drivers and Windows (opengl32.dll etc.). Without that interface you can't create an OpenGL context. In future versions of Windows that interface is being updated.


I think this is a core leak of the whole OpenGL thing. They give a lot of "funny rules" for it, but don't program anything themself and fully rely on graphics card manufacturer with their drivers and and volunteers that do their work. ( the header files are just implementation rules for the drivers that graphics hardware manufacturer have to follow if they want to support it )

Heh. From http://opengl.org/about/arb/overview.html :
The current ARB voting members are (in alphabetical order):
3DLabs, Apple, ATI, Dell, IBM, Intel, Nvidia, SGI, Sun Microsystems

The four top graphics card manufacturers are on the board.

Seriously - it's not going anywhere.


SillyPutty(Posted 2005) [#38]
Thanks teamonkey, that post is very reassuring.

So microsoft will be updating the OpenGL interface ?


Takuan(Posted 2005) [#39]
Why the heck Microsoft wouldnt?

Microsoft hasnt the power to simply say "Nope".
In such decisions there are many heavy weight companies involved, which realy dont see an advantage in laying there existence in Microsofts hands only.

GCard manufacturers arent supporting OpenGL for fun or good will.
Its a strategic decision.
If you are leader of a a big company, creating products which can be used only by software (DX) a other company developes.
Wouldnt you be happy to have a second alternative (OpenGL), just in case something funny is going on with DX or DX License?

The only way for Microsoft in killing OpenGL, would be in small steps, taking the OGL userbase out.
Otherwise companies using OGL would simply head to Apple country.
Not a easy task if have to eat an Apple first.
Dont think i have to worry the next 10 years.