OpenGL vs DirectX
Hi, everyone
The reason why I am opening this discussion is because the information about these issues is so spread and muddled with opinions. My goal is to more centralize the subject of OpenGL and DirectX for convenience. Also given the blistering fast pace of both OpenGL and DirectX changes in games, I want the latest perspectives.
Both OpenGL and DirectX API based games and simulations, some switchable to either by the user, have been enjoyed and modded by me. Also a given is that both seem to be quite powerful and full featured, advantages and disadvantages for both.
Is OpenGL going to involve more advanced work for the game developer, yet greater flexibility in the long term? Doesn't the hardware accelerated 3D nature of OpenGL offer more potential for game features because software processing could be run simultaneously with hardware acceleration to broaden the game engine base - so to speak? Isn't hardware acceleration offering the most potential for game performance and more 3D objects and 2D textures allowable?
Clinton
The reason why I am opening this discussion is because the information about these issues is so spread and muddled with opinions. My goal is to more centralize the subject of OpenGL and DirectX for convenience. Also given the blistering fast pace of both OpenGL and DirectX changes in games, I want the latest perspectives.
Both OpenGL and DirectX API based games and simulations, some switchable to either by the user, have been enjoyed and modded by me. Also a given is that both seem to be quite powerful and full featured, advantages and disadvantages for both.
Is OpenGL going to involve more advanced work for the game developer, yet greater flexibility in the long term? Doesn't the hardware accelerated 3D nature of OpenGL offer more potential for game features because software processing could be run simultaneously with hardware acceleration to broaden the game engine base - so to speak? Isn't hardware acceleration offering the most potential for game performance and more 3D objects and 2D textures allowable?
Clinton
Oh boy, it's this discussion again...
You are aware of the fact that both OpenGL and D3D are APIs for doing hardware accelerated rendering, right?
Also, what do you mean with 'more advanced work' when referring to OpenGL? Both APIs expose a similar set of features but do so in a different way, the flexibility or developer-friendliness of the two really depend on personal preference IMO.
I don't really get what you're asking here, both APIs are thoroughly documented so if you're trying to decide on which API to use I'd suggest you start digging through the available documentation.
Is OpenGL going to involve more advanced work for the game developer, yet greater flexibility in the long term? Doesn't the hardware accelerated 3D nature of OpenGL offer more potential for game features because software processing could be run simultaneously with hardware acceleration to broaden the game engine base - so to speak? Isn't hardware acceleration offering the most potential for game performance and more 3D objects and 2D textures allowable?
You are aware of the fact that both OpenGL and D3D are APIs for doing hardware accelerated rendering, right?
Also, what do you mean with 'more advanced work' when referring to OpenGL? Both APIs expose a similar set of features but do so in a different way, the flexibility or developer-friendliness of the two really depend on personal preference IMO.
I don't really get what you're asking here, both APIs are thoroughly documented so if you're trying to decide on which API to use I'd suggest you start digging through the available documentation.
Well, here is an example of the kind of contradiction that I read: Sources are publishing that DirectX is more software involved than hardware accellerated compared to OpenGL, but some such as yourself are not making the distinction, with all respect.
Clinton
Clinton
the hardware accelerated 3D nature of OpenGLBoth D3D and OGL are APIs for sending commands to a GPU (aka 3D hardware accelerator).
They both do the same thing, so it's mostly down to personal preferences as to which API you prefer. Some other factors besides API-style preference, are the platforms (OS's, drivers, GPU models) you want to support, and the support tools (Debuggers etc), that are available.
And which sources would that be exactly?
You might be confusing some concepts here. When a graphics card does not support some features of the D3D API in hardware a so-called 'Reference Device' can be used by developers which emulates those features in software mostly for debugging purposes as a DX SDK installation is needed.
I believe a software renderer can also be used by D3D if you provide one, but it generally isn't recommended.
In normal situations Direct3D is a library for doing hardware accelerated rendering.
You might be confusing some concepts here. When a graphics card does not support some features of the D3D API in hardware a so-called 'Reference Device' can be used by developers which emulates those features in software mostly for debugging purposes as a DX SDK installation is needed.
I believe a software renderer can also be used by D3D if you provide one, but it generally isn't recommended.
In normal situations Direct3D is a library for doing hardware accelerated rendering.
Okay, but isn't OpenGL more low level programming compared to DirectX? Isn't DirectX more friendly to scripting languages?
Clinton
Clinton
Okay, but isn't OpenGL more low level programming compared to DirectX? Isn't DirectX more friendly to scripting languages?
Clinton
There's really no relation between scripting languages and either graphics API. It might be so that there are more wrappers for using DirectX in managed languages, I don't know, but this doesn't have anything to do with the DirectX library itself.
OpenGL is a procedural C API, while D3D is a more-or-less object-oriented API, there is no support for any scripting language out of the box for either API
Okay, but isn't OpenGL more low level programming compared to DirectX? Isn't DirectX more friendly to scripting languages?No. They both operate at the same "level" and have no connection to scripting languages.
DirectX has a C++ API and OpenGL has a C API. Both are somewhat object-oriented in design, though obviously expressed differently (as C doesn't support OOP helpers, such as 'classes', so GL uses more object ID values instead, whereas D3D uses abstract base classes).
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement