Jump to content
  • Advertisement
Sign in to follow this  
3Ddreamer

OpenGL vs DirectX

This topic is 2219 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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

Share this post


Link to post
Share on other sites
Advertisement
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Okay, but isn't OpenGL more low level programming compared to DirectX? Isn't DirectX more friendly to scripting languages?


Clinton

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
It sounds that you perceive these APIs as completely different beasts. Actually, these are very, very similar. In the end both need to access the gfx card drivers that do the real work. There are differences, but these can be named best as "slightly". DX is considered slightly faster, slightly harder to learn, has slightly less problems with outdated drivers (and all of these points are contested by numerous people, so even at these you won't get a 100% agreement). I again stress the word "slightly". In the end it's mostly about convenience and personal taste of the coder...

The only big difference I can think of is that OpenGL is extremely crossplatform while DX is tied to MS platforms.

Share this post


Link to post
Share on other sites

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


Direct3D has a larger official support library(D3DX) Which is software only ofcourse but the hardware accelerated features are pretty much equivalent. (OpenGL doesn't have any official software support library anymore, (glu and glaux are software support libraries for OpenGL but both are deprecated and horribly out of date) There are tons of third party support libraries to choose from though if you want and Microsoft is deprecating most of its support library for DX with Windows 8, (Pretty much noone uses it for professional games anyway and since the two APIs have become so similar most of the third party support libraries work just fine with both APIs)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!