OpenGL vs DirectX

Started by
14 comments, last by 21st Century Moose 11 years, 7 months ago
Hi, everyone smile.png


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

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

Advertisement
Oh boy, it's this discussion again...


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.

I gets all your texture budgets!

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

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

the hardware accelerated 3D nature of OpenGL
Both 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.

I gets all your texture budgets!

Okay, but isn't OpenGL more low level programming compared to DirectX? Isn't DirectX more friendly to scripting languages?


Clinton

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer


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

I gets all your texture budgets!

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