Advertisement

opengl or Direct3d

Started by January 16, 2002 08:13 PM
7 comments, last by defiant147 22 years, 11 months ago
I have a few questons. First which is faster under the same conditions OpenGL or Direct3D. Is there some things one can do that the other can''t?-If so can you partially code in one and then the other(sorry I can''t word it correctly or think of the term i want to use)? I am sorry if this appears to be a prank post, as i don''t intend to start an argument but just to get a few answers. I am about to move into learning these and I have seen the arguments here and those just confused me. Any answers from people who have worked with both would be appreciated. Again I just want a few answers not to start an argument. thank you in advance, defiant147
Please ... use the search function. Neither is faster, and neither is better. This question gets asked at least once per day (in fact, there's another one a bit below yours on the Active Topics page). You will find large amounts of useful information in the hundreds of previous posts on the topic.

Edited by - Martee on January 16, 2002 9:19:29 PM
ReactOS - an Open-source operating system compatible with Windows NT apps and drivers
Advertisement
quote: First which is faster under the same conditions OpenGL or Direct3D.

It really depends on the conditions; each has its own strong points. In general, however, the two have more or less equivalent speed.
quote: Is there some things one can do that the other can''t?

OpenGL supports an extension system that allows individual manufacturers to implement increased functionality. However, OpenGL has a smaller required feature set.
quote: If so can you partially code in one and then the other

It''s perfectly possible to code programs that can work with either OpenGL or DirectX; abstract their functionality through your own functions. Think interface and abstract base classes (do not, however, think virtual function binding, because if yours are not very-high-level display functions, this could be a significant speed hit.)

I''ll get flamed for this, but I suggest if you want to learn, you learn from OpenGL. It''s easier to get going with OpenGL, especially if you use GLUT; Direct3D tends to demand that you customize everything, whereas OpenGL has fairly reasonable defaults.
thanks for the replies. I''ll check out that post.
I asked this because I always see this but everyone says something different, or they fail to give a direct (or even implied) answer and say don''t ask them.

thank you again,
defiant147
quote: Original post by defiant147
I asked this because I always see this but everyone says something different, or they fail to give a direct (or even implied) answer and say don''t ask them.


The reason for that is because this question is just like the "Dr. Pepper vs. Coke" questions: there is no answer, it''s mostly a matter of personal taste.


"So crucify the ego, before it''s far too late. To leave behind this place so negative and blind and cynical, and you will come to find that we are all one mind. Capable of all that''s imagined and all conceivable."
- Tool
------------------------------
"There is no reason good should not triumph at least as often as evil. The triumph of anything is a matter of organization. If there are such things as angels, I hope that they're organized along the lines of the mafia." -Kurt Vonnegut
It''s not a matter of "personal taste" , opengl is by far easier to program for, if you take the same game (with the latest video drivers and latest version of DX<--i''ve added that only cause i know someone would have posted "well the video drivers werent updated" or "what version of dx are you running?"and set the display settings to let''s say 1024x768 32bit anti-aliasing etc. using opengl then you switch to D3D you WILL see a noticable performance decrease..OpenGL was designed by SGI for Very high end, graphic intensive applications running on Irix systems(super computers compared to anything intel or amd has available)so it can handle anything these lame game developers throw at it with ease.
Easy to program for, extremely powerful.

DirectX was designed by microsoft ..need i say more? when was the last time microsoft came out with a product that was not buggy, needed patches constantly and crashed for the dumbest reasons? everything from their Operating System''s to their API''s are crap, from all my experience of playing OpenGL games vs. Directx i found that the GL games NEVER crash or have graphic glitches OR any other annoying problems...how many of you had your share of the game kicking back to the desktop with usually very little or no error message? i''ve NEVER seen that happen in an GL game. That is the cause of the API not the video drivers.

Microsoft forces us to install their latest version of DX and can''t uninstall it EVEN if that new version has alot of bugs..so we have to suffer and wait for them to release a patch.

For a company that is notorious for bugs in their software they shouldn''t try and be confident about an API they''ve developed and have the nerve to not allow it to be uninstalled back to a previous "working" version.

It is not what taste developers have..cause those two API''s are NOT identical, just cause the games are closely identical in graphics does NOT mean they ARE indentical when it comes to ease of use, capabilities and performance... All these arguments about which is better all depends which API you started with..if you started with DX and ONLY programmed using it of course you''re gonna argue that DX is better but for some of us that have programmed for both for a long period of time to test both API''s we know which is the better of the two, and obviously companies also know cause WHY DO THEY USE OPENGL FOR THE GRAPHICS AND USE DIRECTX ONLY FOR THE SOUND/INPUT/DIRECTPLAY?? why not just use the whole DX API for the graphics also?? there HAS to be a reason..hmm i wonder

My advice if you don''t believe anything anyone is saying try both and then make the call yourself. You will find GL programming is much easier with less headaches.

Microsoft is trying to catch up with opengl code..everytime they release a new version of DX that has some new capability opengl can already do it and it''s still only version 1.1, with the new 1.2 being released thats just gonna add a whole mess of new additions to the code that of course DX will have to catch up with their directx version 16.1a .

So why not use opengl to program for, that already has the code you need to do what you want, than having to wait for a new version of DX and will probably be buggy anyway??

For those of you that have posted "neither is faster or better" first do the research and testing BEFORE you make a comment like that cause one IS faster/better than the other.



Advertisement
I prefer Coke.

-------------------------GBGames' Blog: An Indie Game Developer's Somewhat Interesting ThoughtsStaff Reviewer for Game Tunnel
"when was the last time microsoft came out with a product that was not buggy, needed patches constantly and crashed for the dumbest reasons?"

Age of Empires 2...unless there were patches for it. I never saw or heard about any problems with that.

-------------------------GBGames' Blog: An Indie Game Developer's Somewhat Interesting ThoughtsStaff Reviewer for Game Tunnel
Anonymous Poster,

Bias and myopia do not help new programmers. The intent here is not to listen to propaganda but to learn from honest opinions. You have the right to prefer one over the other, but it has continually been shown that the two APIs are more or less the same. The issue is not open for discussion on these boards. Please desist in the future.

Thread closed.

[ GDNet Start Here | GDNet FAQ | MS RTFM | STL | Google ]
Thanks to Kylotan for the idea!

This topic is closed to new replies.

Advertisement