DirectX versus OpenGL - A very newbie question...

Started by
17 comments, last by Susan-gt 19 years, 2 months ago
Quote:Original post by circlesoft
The PS2 uses OpenGL for rendering (IIRC)


Not natively, you need to do something special to get it to work (maybe as drastic as installing linux).
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Advertisement
Assuming you mean Direct3D (since as mentioned by others, DirectX is a collection of APIs), there really isn't much difference. Both APIs abstract the same hardware functionality, mostly differing due to the philosophy of the API (OpenGL being C and extension-based, while D3D uses COM/OO and periodic updates).

Use either based on your goals (ie. cross-platform you'll pick OpenGL) and preferences (like OO and don't need cross-platform, use D3D).

If you understand the functionality offered and how it works, you'll have no problem switching at a later point. I hadn't used OpenGL in years, but when I decided to go cross-platform, switching was a snap. Toss in a extension handling lib like GLEW, browse the docs, and you're set.
Quote:Original post by Promit
Quote:Original post by circlesoft
The PS2 uses OpenGL for rendering (IIRC)

Not natively, you need to do something special to get it to work (maybe as drastic as installing linux).


Aye, okay. I am assuming it just uses an API designed by Sony, then. I heard rumors that the PS3 was supporting OpenGL or something - do you know anything about that?
Dustin Franklin ( circlesoft :: KBase :: Mystic GD :: ApolloNL )
Quote:Original post by Anonymous Poster
Oluseyi, sorry for this stupid question, but how exactly does OpenGL get updated? DirectX has the dowloadable SDK from Microsoft but for the life of me I cannot find downloadable OpenGL libs. I know that there are OpenGL libs implemented by Microsoft and packaged in VC++ but how do you get to update that?

Thanks.
Microsoft has not updated the OpenGL libs for Windows in a long time, but they promise that Longhorn will have up-to-date Windows libs (OpenGL 2.0, for now). To access functionality beyond the 1.1 version provided for Windows by Microsoft, Dave Astle (yes, our very own Myopic Rhino) wrote Moving Beyond OpenGL 1.1 for Windows. It only applies to 1.2 and 1.3, but I believe it should be intuitable to 1.4.
Quote:Original post by circlesoft
I am assuming [the PS2] just uses an API designed by Sony, then.
From what I hear, while there is an available API from Sony, it's hardly performant. Most developers end up writing their own pedal-to-the-metal libraries for the PS2, which is why it took a while for the full graphical potential of the system to be tapped. That the hardware architecture was ... "challenging" ... didn't make anyone's life easoer [smile].

Quote:I heard rumors that the PS3 was supporting OpenGL or something - do you know anything about that?
I have no information, but it'd be a good thing. Now if only Microsoft could find a way to interface OpenGL with its proposed XNA, demonstrating that it truly isn't about establishing D3D as the only viable option...

*sigh*
Quote:Original post by Anonymous Poster
Oluseyi, sorry for this stupid question, but how exactly does OpenGL get updated? DirectX has the dowloadable SDK from Microsoft but for the life of me I cannot find downloadable OpenGL libs. I know that there are OpenGL libs implemented by Microsoft and packaged in VC++ but how do you get to update that?


The answer to this question is why we love MS so much. You can't! Because Microsoft has DX it refuses to update the OpenGL libs on windows from the 1.1 versions you get standard (pretty sure its 1.1, but its quite an old version anyway). The drivers to your graphics card will give you access to all the avaliable OpenGL functions and extensions supported but as there is no Windows lib or .h files so you can't compile them into your app directly. The work around to this is to use function pointers. Basically you request a pointer to the extension you want and then your graphics driver gives it to you if supported. Its a bit annoying at first but once you get your head around it, its not a big deal. Still its very much a hack, and its a pitty there is no better way round it but not much you can do about it. MS has no reason to support/help out an API thats in competition with them so they've made it as hard as possible to use any new features.

Or at least thats how I understand it :P
Quote:Original post by kaysik
...bitching about extension stuff


Use GLee and all problems are solved.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Quote:Original post by Promit
Use GLee and all problems are solved.


I use SDL ... it makes me happy!
A point worth noting is that the PC (windows) is home based and therefore
has games being played on it. Many of the other platforms are for buisness
and they kind of frown on game playing. So I am beginning to see
the cross platform of OPENGl is not that big a deal for games.
I could be wrong but that is my opinion.

This topic is closed to new replies.

Advertisement