OpenGL, the right graphics API?
#1
Posted 19 February 2003 - 08:24 AM
It seems that most of the people in the gamedev industry use DirectX due to it's high ammount of tools and device independence, which makes it extremely efficient to work with. I've even heared such an explanation that most people aren't that profficient in the math involved or don't have the intrest to work with the low-level. Well, sounds pretty convincing, but are there any other things that might effect their choise? Like system speed? I might say that atleast the vertex/(pixel/fragment) program constant/parameter assignment is more efficient in Direct3D9 than with ARB_vertex/fragment_program, since one can actually group the constants for one call but with OpenGL you'll have to call the assignment function for every constant/parameter, not very efficient, eh :\ Or am I missing something, is there some function that can take an array of values for the assignment of environment/local parameters (ARB_vertex/fragment_program)?
Hope I didn't mix any terms here, since I've not been using OpenGL for that long (mostly DX, but almost all OGL now) :)
Well anyway, what do you think about the future of OpenGL, will DirectX replace it or will it persevere? I surely hope it will remain. I actually don't like the interface style of DX (since I only do c/c++ ;) ... exluding asm).
Anyways, please post your opinnions!
Cheers!
#2
Posted 19 February 2003 - 10:04 AM
Quake (Quake 2 and 3 too), Doom (and Doom 3 wll) and many other popular games uses OpenGL
#3
Posted 19 February 2003 - 01:43 PM
The Vertex/Pixel Shaders are also better off in DX, but soon DX would lose that lead, guess because Cg is gonna rock soon. Cg is not all that upto mark as of now, but soon it would be. Remember its nVidia whoz working on it.
Other than that, OGL and DX are not far apart. If that were to be the case, QII would have been written in DX and not in OGl. Remeber how slow OGl during those days was.
When its Mr. Carmack , John we are talking of, I would say he would not mind rewriting hte whole of Quake II IF it were to add an extra 5 fps in DX. Remember he ALREADY wrote his own Graphix Library for scroll games. I should say that soon many games would shift over to DX.
To ADD: Unreal also uses DX and or OGL
#4
Posted 19 February 2003 - 02:29 PM
The integration issue seems to be of some importance since the proposals on OpenGL 2.0 include some discussion on integration with an OpenML (media library). Besides, games that use GL for graphics also rely on DirectX for sound and input... Talking about Carmack, in some older .plan he had stated that after GLQuake (1) he tried to port the code to DirectX (then 3 or 5, not sure) but dropped the whole thing because "he had better things to do with his time". Bad API back then but great improvement over time. By the way, Unreal dropped "real" OpenGL support, but keeps some -potentially buggy- legacy support. UT2003 and Unreal2 don't even offer the option! The initial design of OpenGL has proved its longevity (OpenGL 1.x lived for at least 5-6 incarnations of DirectX at the PC's) and is even older - i think - in SGI platforms) but some changes are required. My personal opinion is that the fate of OpenGL relies heavily on the success (or failure) of the OpenGL 2.0 project. It HAS to be good, at extension management definitely need a fresh look, and of course integrated programmability is highly wanted!
As for the fact that many people aren't that proficient on maths, if you are referring to DirectX extension lib, remember that GLutility library has been a standard since the beginning.
#5
Posted 19 February 2003 - 03:15 PM
Anyways, I share the thought that integration is important. And for efficiencys sake, using one API compared to many is very much better. OpenGL 2.0... yeah, that's what we're all waiting for, aren't we :) And I too have high expectations and reading the papers, for some part atleast, I think that it will be pretty good to say the least. Though, we've seen this before, or are seeing it right now, namely the GeForceFX case. They promissed it to be a superb card and what did it bring to us? A poorly designed heat-sinking system (apparently, atleast compared to ATI) that sounds like an airplane! Well that's a bit axeggaratation (or what ever :). But one thing can't be avoided, it just barely surpasses ATI's r300 in speed :\ And with very few additions in form of capabillities it doesn't sound like beeing worth the money. Oops, a bit of topic :D
My point beeing that who knows. Maby OpenGL 2.0 will turn out just like GFFX seems to become... I surely hope not, but we never know :\ Atleast it sounds promissing, as I mentioned before, and I sure have high hopes of it and hopefully it will be the "saviour of OpenGL" :)
Though surely OpenGL will retain a great portion on the non-game side of graphics if DX takes over, but that remains to be seen :)
Cheers!
Edit: Oh and forgot to say that one reason for prefering DirectX might be that you can actually download it as a SDK. This was a thing that created confusion in me, since I was accustomed to the downloading of a SDK and I didn't notice, at first, that OpenGL comes with the OS (or was it the IDE, atleast VC++) :D Anyways, 124 MB was understandable for a SDK download, but the about 200 MB of DX9 is a bit bad :eek:
#6
Posted 19 February 2003 - 08:56 PM
He who knows not and knows that he knows not is ignorant. Teach him.
He who knows not and knows not that he knows not is a fool. Shun him.
#7
Posted 19 February 2003 - 10:03 PM
Its just my humble opinion.
#8
Posted 20 February 2003 - 04:37 PM
but gl is great for a start, yes. its what i started with as well.
-Loving a Person is having the wish to see this Person happy, no matter what that means to yourself.
-No matter what it means to myself....
#10
Posted 20 February 2003 - 08:29 PM
-Loving a Person is having the wish to see this Person happy, no matter what that means to yourself.
-No matter what it means to myself....
#11
Posted 21 February 2003 - 06:57 AM
baldurk said:
#12
Posted 21 February 2003 - 01:38 PM
Carmack - did say that things were bad with DX. I agree. It was a huge coding effort to get DX started. DX 7 was the last of the long coding stories. Well DX8 makes things a lot better. I would say good work M$. However DX still remains one of the 'old' APIs. OGL is more of a C based API. It has more support (in terms of OSs) while graphix companies (card companies) love DX because it puts load on the coder and not on the card. OGL on the other hand would require the card to do more work compared to DX.
However DX has been doing lotsa advanced work. OGL has been taking tooo long to incorporate the changes. OGL 1.4 itself took a lot of effort for card companies to accept. Besides DX is tightly coupled with the Windoze OS. So it performs better in most cases.
If OGL 2.0 works well, OGL lives else I would say things are going to be tough for OGL for sometime.
#13
Posted 21 February 2003 - 04:20 PM
CyraX said:
Carmack - did say that things were bad with DX. I agree. It was a huge coding effort to get DX started. DX 7 was the last of the long coding stories. Well DX8 makes things a lot better. I would say good work M$. However DX still remains one of the 'old' APIs. OGL is more of a C based API. It has more support (in terms of OSs) while graphix companies (card companies) love DX because it puts load on the coder and not on the card. OGL on the other hand would require the card to do more work compared to DX.
However DX has been doing lotsa advanced work. OGL has been taking tooo long to incorporate the changes. OGL 1.4 itself took a lot of effort for card companies to accept. Besides DX is tightly coupled with the Windoze OS. So it performs better in most cases.
If OGL 2.0 works well, OGL lives else I would say things are going to be tough for OGL for sometime.
dx is an 'old' api? gl is older. and well, so we could say windows XP is an old windows? because far far back, there was win3.0 (and even olders:D), and its (loosely) based on it? where do we get then? each new version is a revision, and you can't compare any dx before version 8 with any version after and including 8. you can basically say, dx got a rebirth then.
and the other stuff, about gl and dx, is simply untrue. most of the code is one-to-one mappable. dx is not more work for the programmer as gl is, same for drivers. gl has more features, useless for games and so not supported by gamers hardware. this is an issue for driver developers, but they can just let it fallback to software mode then if they want to.
those apis are today so equal (coding style is different, and i would say dx is much more futuristic in coding style than gl, wich is only funcs and #defines.. really old style that is:D), they are so equal, bashing on one or the other is simply useless. same feature set, same power. its a mather of choise. in dx, you know that you get microsoft as support. this is great. in gl.. you get.. driver developers.. you get them in dx, too.. there is more help for professional developers on dx side (if you're just a normal programmer. weenie and carmack get much support from everyone.. but they are exceptions)..
-Loving a Person is having the wish to see this Person happy, no matter what that means to yourself.
-No matter what it means to myself....
#14
Posted 24 February 2003 - 10:35 AM
Check out Delgine 3d engine/editor for more info. :)
Jeroen
#15
Posted 24 February 2003 - 01:18 PM
Hence DX is good @ game apps.
#16
Posted 24 February 2003 - 06:55 PM
donBerto said:
CyraX said:
Hence DX is good @ game apps.
i'm just kidding...
:yes:
oh.. i see, you're near the senior.. thats why..:D
-Loving a Person is having the wish to see this Person happy, no matter what that means to yourself.
-No matter what it means to myself....
#17
Posted 25 February 2003 - 06:21 AM
As I don't know a single thing about DirectX I would like
to know: Does the native M$-DirectX API contain such cute
Matrix-Stacks and Operations as OpenGL does?
Or does it need additional Libraries?
Greetinx
Stefan
#18
Posted 25 February 2003 - 09:11 AM
but you do it offline, your own matrices you upload.
advantages: no forcing to modelview projection (i really dislike it, and want model, view, projection all 3 split)
same matrix math functions for all of your own matrices, too.
and a matrix stack is really easy to code up yourself actually..
-Loving a Person is having the wish to see this Person happy, no matter what that means to yourself.
-No matter what it means to myself....
#19
Posted 26 February 2003 - 08:00 AM
But yeah, DirectX at some points has a bit more flexibility, atleast the legacy fixed-function pipeline :yes:
Cheers!
#20
Posted 26 February 2003 - 10:01 AM
-Loving a Person is having the wish to see this Person happy, no matter what that means to yourself.
-No matter what it means to myself....
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users











