08-08-2003, 03:17 PM | #3 (permalink) |
Still searching...
Location: NorCal For Life
|
I like Open GL but I also like open source stuff because of open standards/specifications, but thats just me.
__________________
"Only two things are certain: the universe and human stupidity; and I'm not certain about the universe." -- Albert Einstein |
08-08-2003, 09:28 PM | #4 (permalink) |
Junkie
Location: North Hollywood
|
A few years ago OpenGL was definetely in the lead, we even wrote an open letter to microsoft trying to get installed as standard and for them to support it, now hardly any of the game developers care, DirectX changes faster, they sorted out nearly all the API mess with DX8, DX( is well embeded into the world.
Though NVIDIA etc usually exposes their hardware first in OpenGL, big suprise NVIDIA is made up of primarily ex-SGI OpenGL people. OpenGL is better for cross platform obviosully, but again for current games no one ( developers) really cares about that, the other markets aren't really viable, and for the console development its not as good an idea to abstract the API anymore, most bang for the buck is writing as close to hardware as possible, PS2, shaders etc, OpenGL 2.0 and DX10 is when it'll start to get interesting again. As for one looking better, its unlikely that one API when used correctly will make something look better, typically its the implementation by the developer, the primary reason for this is that the OEMS make the drivers for their own cards, and they want them to look the best they can on both APIs, they have nothing to gain by not making them the best they can be, and these guys are fanatical about getting the best out of their cards. Its possible to get the same image quality out of either, as its that hardware that matters, and its the same hardware that does the actual rendering no matter which API is used. just not everyone does. Sorry to ramble |
08-08-2003, 09:43 PM | #6 (permalink) |
Insane
|
As a graphics developer, I am a strong proponent of OpenGL. The graphics code is cross platform, so I can compile it on a Mac, *NIX, Windows, etc without rewriting the program completely.
Both platforms have essentially the same features and performance. Both DX and OGL are very fast and can do a lot of things. On the surface, they may appear to be the same. However, they are worlds apart - OGL supports extensions to the code base. For example, if ATI wants to add some hardware-specific function to their boards, OGL can take advantage of it and you don't need to rewrite the OGL API around it - OGL is not COM based. For most programmers, this is a godsend. DX is COM based, and there is no way around that. - OGL is not OO. You can write OGL code in a straightforward linear fashion, or you can write it with an OO style. DX is OO by design. |
08-08-2003, 10:14 PM | #7 (permalink) |
Junkie
Location: North Hollywood
|
Unfortunately said OpenGL extensions are hardware specific so you lose some of that cross platform scalability, (which is order and less sensible to maintain for games these days) you also get "extension wars" between the card OEMs and the API gets polluted as both strive to make their card look the best.
It also means enumerating the extensions looking for the right one and then falling back if its not there, or just falling out, or horror of horrors running an emulation of it, sometimes thats just not possible, so you end up locking yourself into a chipset/extension, however a lot of it depends on the application. As for DX being COM not much of a big deal, its a preference issue i suppose, same as OO, you don't have to write OO code with either, or you can with both. Thats like saying C++ is bad because its designed with OO in mind, you can also write non OO code in C++, same as you can write OO in assembler, I don't see the problem there beyond personal preference. Also DX supports extensions as well, and there are a number of hardware specific sub versions of DX to support specific hardware, also the versions come out a lot faster to support the new cards. But the most interesting stuff is shaders, this is where you get the real hardware benefits and both APIs support their own forms. Both DX and OpenGL are close enough in terms of what they do, as that it really doesn't matter anymore ( outside cross platform but thats getting harder and harder to maintain as well as less useful to some, but that really depends on the type of application and the target market ) Cross platform is useful if you need it. |
Tags |
directx, open |
|
|