Currently using some OpenGL code on windows, I've been wondering if DirectX would be better. This may change my mind. Plus, with Value releasing Steam for Linux on OpenGL, I figured it could be true.
Thanks,
What samoth said. Besides, OpenGL is still widely used for scientific visualization and CAD/CAM work. If Microsoft gimped OpenGL, we'd be hearing about it from more sources than a book. Not to mention that someone would have figured a work around by now.
Microsoft did some FUD for Windows Vista, pretending that OpenGL will just be a layer over DirectX and so DirectX would be faster, basically saying DirectX will run in the kernel, and OpenGL will run above the kernel and just wrap around DirectX.
They also released some charts to 'prove' their point. They like misleading people with pretty images.
Why you should use OpenGL and not DirectX - Interesting blog post on the subject.
Why you should use OpenGL and not DirectX - Interesting blog post on the subject.
Why you should use OpenGL and not DirectX - Interesting blog post on the subject.
"Intresting" and mostly biased, rubbish and wrong.
I made a couple of blog posts on here taking the article apart - basically the guy doesn't like DX, has this rose tinted view about OpenGL and feels there is a vast conspiracy to Keep OpenGL Down... which is rubbish.
Even the 'zomg! faster draw calls!' point he made is a non-event; on DX9 with 'small' draw calls it was a problem but DX10 and DX11 have since removed it and 'small' draw calls are so far from the norm it isn't worth caring about.
(And as someone who was using OpenGL from ~99 until 2008 I have a certain perspective; heck some of the older members might recall me defending aspects of 'GL before the Longs Peak screw up, which is when I said 'bye' to using GL and went to the saner DX10 and now DX11 land...)
Yup, that article is too biased to be taken seriously.
haha, looks like phantom is still mad with the board, but heck I still am too.
It looks like GL 4.3 & ES 3.0 are finally heading in the right direction and MS got out of the rails with the (again!) decision to make DX 11.1 Windows 8 only. Furthermore there are finally good GL tools we can use (gDebugger is now free, PerfStudio is great, so is NSight)
This answer shows the history of OpenGL vs DirectX throughout the years and nicely explains why it was GL's pure fault in getting to the state it is now (barely used in games).
Here's your article, phantom, thanks for the counterpoints.
I merely posted the link to the blog post, but I did fail to qualify it. The OP was talking about a book where the author was making some claims about DirectX vs OpenGL and that OpenGL was deliberately slowed down; the author's incorrect information about Microsoft intentionally slowing down OpenGL is probably a result of the Vista FUD campaign and the media attention it received - the blog post I linked to explains that FUD campaign; I wasn't trying to say OpenGL is better than DirectX, nor do I think it is.
I shouldn't have used the blog post's title as the text of the hyperlink, as it makes it seem like I agree with the entirety of that post and entirely support the author's viewpoint (Which I actually mostly do, but by coming to my own conclusions, not just borrowing his).
Thanks for clarifying (in your article) that the FUD campaign wasn't actually a FUD campaign and that Carmack's quotes were taken out of context - both of those points are news to me!
I stand somewhere in the middle ground myself, though I lean more towards OpenGL. Currently I only work with 2D graphics, but when I make the move to 3D, I intend to use OpenGL for two reasons:
...this is in spite of Direct X seeming to be (from an inexperienced outsider looking in) better designed, and not because I think all opensource software is superior in quality to proprietary software (and just because the standard is open, that doesn't mean the implementations are).
I'm prepared to bear the pain and annoyance of OpenGL inconsistencies across videocards, not because it is better overall, but because it is better for my goals.
It looks like GL 4.3 & ES 3.0 are finally heading in the right direction and MS got out of the rails with the (again!) decision to make DX 11.1 Windows 8 only.OpenGL|ES is certainly much saner than OpenGL, in the mobile world it's a good thing indeed.
Yup, that article is too biased to be taken seriously.
haha, looks like phantom is still mad with the board, but heck I still am too.
It looks like GL 4.3 & ES 3.0 are finally heading in the right direction and MS got out of the rails with the (again!) decision to make DX 11.1 Windows 8 only. Furthermore there are finally good GL tools we can use (gDebugger is now free, PerfStudio is great, so is NSight)
http://programmers.stackexchange.com/a/88055" href="http://programmers.stackexchange.com/a/88055">This answer shows the history of OpenGL vs DirectX throughout the years and nicely explains why it was GL's pure fault in getting to the state it is now (barely used in games).
Why you should use OpenGL and not DirectX - Interesting blog post on the subject."Intresting" and mostly biased, rubbish and wrong.
I made a couple of blog posts on here taking the article apart - basically the guy doesn't like DX, has this rose tinted view about OpenGL and feels there is a vast conspiracy to Keep OpenGL Down... which is rubbish.
Even the 'zomg! faster draw calls!' point he made is a non-event; on DX9 with 'small' draw calls it was a problem but DX10 and DX11 have since removed it and 'small' draw calls are so far from the norm it isn't worth caring about.
(And as someone who was using OpenGL from ~99 until 2008 I have a certain perspective; heck some of the older members might recall me defending aspects of 'GL before the Longs Peak screw up, which is when I said 'bye' to using GL and went to the saner DX10 and now DX11 land...)
The biggest plus point for OpenGL is that it is currently the only way to access the latest GPU features on the Windows XP / Vista, and if you are *extremely careful* you can get the same code running on linux/macos. Semantics aside, there really isn't that much of a difference between D3D & GL4 imho. I'll give you the point about bind-to-edit, although thin wrappers (dressed up to look like D3D) seems to be the approach most people take these days. At least they've finally divorced the texture data from the sampler parameters! :)
There was recently a comparison of Source engine under Linux (using OpenGL) and under Windows (using D3D). Apparently the Linux version was somewhat faster.
http://blogs.valvesoftware.com/linux/faster-zombies/
Cheers!
It may be faster in the exact specific way that Valve's (aging) engine architecture could benefit from, or those specific video cards they were testing from, but that doesn't mean OpenGL is faster than DirectX in general. Part of the speed gain they even hinted was from Linux vs Windows and not OpenGL vs DirectX specifically, and the difference between 3.30 and 3.17 milliseconds per frame is only 0.13 milliseconds.
Being that they both are different ways of accessing the same videocard, and neither does alot of heavy processing themselves, they should both be fairly close in speed.
Ah yes, bind to edit is a big flaw in OGL.
But not only that, what about "try to see if it's supported" or "try it, check glGetError(), if it works; it's supported" philosophy? I talk about that in the comments in Timothy Lottes' blog, it's really annoying and prone to errors.
It's a very old fashion that comes from the time where OGL was library aimed at "guaranteed rendering on every machine", so there was no such thing as unsupported feature because the library would fallback to SW rendering.
But there was never a way to query which features would cause SW emulation to kick in, and today usage is that OpenGL is just an API to wrap to the GPU hardware (except for pure emulation implementations, like Mesa).
There is a whole load of nonsense and barely-informed FUD (in both the computing acronym and Glasgow vernacular senses of the word) on both sides of this particular argument. The truth is that Microsoft wanted OpenGL; they wanted it to be good, they wanted it to run fast, they wanted it to run well - because they wanted to break into the CAD workstation market (games development ain't everything). The problem was that they also wanted D3D, but that wasn't because of any evil conspiracy; it was because MS are (or were at the time) a fairly fragmented company where the left hand doesn't (or didn't at the time) even know what the right hand was doing.
That Wolfire blog article does more harm than good to the OpenGL "cause" because it's quite obviously ill-informed and biased, not to mention blatantly inaccurate and shamelessly untrue in many cases (full OpenGL on PS3 and mobile platforms? Yeah right...)
D3D didn't succeed because of any of the paranoid crap that is so frequently put forward; D3D succeeded because it became good enough (ironically, in the very best "Unix tradition" of "worse is better") and offered a single, consistent and hardware-independent way of doing things at the same time as OpenGL was going off to loo-lah land with GL_ARB_do_it_this_way, GL_ARB_do_it_that_way and GL_ARB_do_it_t'other_way for every piece of essential functionality.
On topic - since D3D became able to compete, MS simply didn't actively support GL, which is quite a stretch from slowed it down.
Off topic-
[quote name='mhagain' timestamp='1357948483' post='5020539']
(full OpenGL on PS3 and mobile platforms? Yeah right...)
[/quote]Yeah, the portability argument for GL always irks me.
Desktops have GL1.x, 2.x, 3.x, 4.x.
Mobiles have GLES1.x, GLES2.x
Playstation has PSGL (which is just an emulation layer over GCM, giving a similar API to GLES)
Each of these are different APIs, and code written for one still does need to be ported to by used on another. Further, every GPU driver on Windows, and every version of an Apple OS contains it's own implementation of these APIs with slightly different behaviour, greatly complicating your QA procedures.
From a professional graphics programmer's viewpoint, if I was porting a game from Mac to Windows, there'd be a lot of merit in using GL on the Mac and D3D on windows, just so the implementation of the API is consistent and not driver-dependent...
It may be faster in the exact specific way that Valve's (aging) engine architecture could benefit from, or those specific video cards they were testing from, but that doesn't mean OpenGL is faster than DirectX in general. Part of the speed gain they even hinted was from Linux vs Windows and not OpenGL vs DirectX specifically, and the difference between 3.30 and 3.17 milliseconds per frame is only 0.13 milliseconds.
Being that they both are different ways of accessing the same videocard, and neither does alot of heavy processing themselves, they should both be fairly close in speed.
But today there is no question that DirectX 11 is the clear winner. This is why even Sony® (competitor of Microsoft®) uses this API for PlayStation 4 (with just a few modifications).
Sony is using DirectX 11 for the PS4? Is that rumour or unreleased insider knowledge? If the latter, don't risk breaking any NDAs.
The only reports I can find on the matter is this rumor (from eight months ago), which was later corrected by another rumor to say the PS4 will be running OpenGL natively.
This topic has been locked by a moderator. New replies are not allowed.
With your permission, GameDev.net uses analytics cookies to understand how people use the platform. You can accept analytics or continue with necessary cookies only. Learn more