OpenGL 3.0

Sylvanas

Diamond Member
Jan 20, 2004
3,752
0
0
Source 1

Source 2

I don't see why more developers don't get onboard with OpenGL. You don't need to invest time and money making a DX9 render (notably for XP) and then a DX10 render (Vista) and then OpenGL if you are going to release your game for Macs/Linux etc. Why not use invest the time and resources in one API that will service all platforms equally- not to mention (I assume) not having to pay MS for the privilege of using DirectX. id are flying the flag well but alot more could be done. Thoughts?
 

Bateluer

Lifer
Jun 23, 2001
27,730
8
0
I'm not a programmer, but isn't OGL harder to use/learn than DX? MS also offers kick backs to developers/publishers to be DX exclusive.

It makes sense though, OGL does offer nearly everything that DX10 offers, in a package that can be used on any platform. I wish more developers would use it more.
 

Sylvanas

Diamond Member
Jan 20, 2004
3,752
0
0
I'm not a programmer, but isn't OGL harder to use/learn than DX?

Neither am I, but I would assume that like most things, once learned it would all click. I think the problem is DirectX's stranglehold on development hinders people trying something different, better the devil you know kinda thing. It makes sense in so many ways yet it is still an 'on the side' kind of thing. I imagine that if more games were more accessible to other platforms like Linux and Mac that might rub Microsoft the wrong way (not that they should care given they own 90% of the market). Go OGL!
 

ViRGE

Elite Member, Moderator Emeritus
Oct 9, 1999
31,516
167
106
Game developers seem pretty mad over OpenGL 3.0. OpenGL has been in need of a massive rewrite to catch up with the times and ditch what's approaching 20 years of cruft, and initially this is what OpenGL 3.0 was going to be. Now it's basically just a minor upgrade to OpenGL 2.x, which itself was just a minor upgrade to OpenGL 1.x. If you compared it to D3D10 you'd never recognize it, and it's not for the better. Shaders have always been needlessly difficult under OpenGL, and Geometry Shaders are damn near impossible to use given the current API.

Microsoft got with the times and created an evolving, streamlined API. Unless you need cross-platform abilities, there's little reason to use OpenGL today.

I have always been a bit dumbstruck as to why Apple has been letting it get this way though; I would think they'd not want to be so far behind Microsoft when it comes to 3D graphics.
 

Sylvanas

Diamond Member
Jan 20, 2004
3,752
0
0
Interesting info Virge.
Shaders have always been needlessly difficult under OpenGL, and Geometry Shaders are damn near impossible to use given the current API.

So I take it this a usability/programming standpoint that OpenGL is 'harder' to code for? So is it 'quicker' (better performing) to implement the use of Shaders/Geometry in DX opposed to OgL? I look at Dx10 today and it is not exactly the best example of a an API that performs well in comparison to DX9 (take a look at Crysis for example). Yet then if I were to take the example of Doom3 which looked excellent and still performed relatively well in comparison to DX9 counterparts- what is the point of DX when the same can be achieved with a cross platform API?
 

ViRGE

Elite Member, Moderator Emeritus
Oct 9, 1999
31,516
167
106
Once implemented, shaders should have little difference in performance. Ultimately both HLSL and GLSL code gets compiled down to the same machine code for the GPU anyhow(assuming both compilers are equally capable).

The difference right now is in ease of programming, although that goes hand in hand with it being harder to fully optimize an OpenGL application than a D3D application. This is largely because the OpenGL rendering pipeline is almost, but not quite, entirely unlike how a modern GPU pipeline works.
 

Cogman

Lifer
Sep 19, 2000
10,277
125
106
Originally posted by: Sylvanas
Interesting info Virge.
Shaders have always been needlessly difficult under OpenGL, and Geometry Shaders are damn near impossible to use given the current API.

So I take it this a usability/programming standpoint that OpenGL is 'harder' to code for? So is it 'quicker' (better performing) to implement the use of Shaders/Geometry in DX opposed to OgL? I look at Dx10 today and it is not exactly the best example of a an API that performs well in comparison to DX9 (take a look at Crysis for example). Yet then if I were to take the example of Doom3 which looked excellent and still performed relatively well in comparison to DX9 counterparts- what is the point of DX when the same can be achieved with a cross platform API?

It is pretty much impossible to compare performance between DX9 and DX10 because DX10 is vista exclusively. There has been MASSIVE rewrites to the way things are displayed on your screen in vista, mostly to avoid tearing. As a result, almost all games preform at a lower FPS in vista then in XP and people start saying "Vista sucks 'cause its so slow"

DX9 was where shaders really started to become easy to program in DX, and 10 extended that usability much further. The whole point of using DX10 was because it extended what you can do much further, throwing out some of the major concepts that had held priority up till then.

Doom3 may look good, but at what cost? And currently that is the question that game manufactures face. Most models now focus on "How fast can we get this product out" rather then "Can we make this a quality game" Even those that go for quality see OGL as a large cost (because of the extra time) rather then a cross platform benefit.

Sorry, but until Linux becomes more main stream (More then the 1% market share it holds over desktop users) I doubt we will see gaming companies that are too concerned over cross-platform stuff. Even then, I think a fair amount of them would rather develop the project then go to wine and make whatever corrections are needed to get their game running rather then worry about developing a whole new rendering engine.
 

SunnyD

Belgian Waffler
Jan 2, 2001
32,674
144
106
www.neftastic.com
Originally posted by: Sylvanas
I'm not a programmer, but isn't OGL harder to use/learn than DX?

Neither am I, but I would assume that like most things, once learned it would all click. I think the problem is DirectX's stranglehold on development hinders people trying something different, better the devil you know kinda thing. It makes sense in so many ways yet it is still an 'on the side' kind of thing. I imagine that if more games were more accessible to other platforms like Linux and Mac that might rub Microsoft the wrong way (not that they should care given they own 90% of the market). Go OGL!

I learned OpenGL 1.2 when I had the option of D3D5-7. I didn't find OpenGL difficult at all. The feature exposure mechanism worked well for extensions that I wanted to use, and most everything was simple enough. At the time, D3D5 was the outsider with the crappy API.
 

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
The reason people are complaining is because they were expecting 3.0 to be a totally new api with tons of new features. What they got was a slightly upgraded 2.2. The reasons they did not do a total rewrite is because gaming is not where the majority of OpenGL users are at, its users are in CAD, VFX, 3D workstations. They have to make it backwards compatible, and that means not changing it drastically. They did do one very important thing in this release:

E.1 Pro?les and Deprecated Features of OpenGL 3.0

OpenGL 3.0 de?nes a single pro?le, and all OpenGL 3.0 implementations must
support that pro?le.

This is important because it will allow developers to bring their applications up to 3.0. It allows developers to see what in their program is not compliant so that in the future they will not have to make massive changes in the next OpenGL release. 3.0 is just a stepping stone to more features and a more powerful api that gives developers time to make the switch.

In a lot of ways you could compare it to the way MS is doing directx. They went from 9 to 10 , not a whole lot different. But 10 to 11 is suppose to be a major change.
If they had done what people wanted, it would have been like if MS released dx11 as the standard and none of the dx9 titles working anymore.