Live data from Hacker News

Why you should use OpenGL and not DirectX

blog.wolfire.com

41–50 of 187 posts

Re: Why you should use OpenGL and not DirectX

#41

API use was shifted in favor of DirectX by Microsoft's two-pronged DirectX campaign around the launch of XBox 360 and Windows Vista, including the spread of FUD (fear, uncertainty and doubt) about the future of OpenGL, and wild exaggeration of the merits of DirectX. I thought it was because that, at the time, the OpenGL API was shit [1]. By the time of OpenGL 2.1, OpenGL was running into a problem. It had a lot of le…

OpenGL was not in any way shit when DirectX started overtaking OpenGL.

It became so around the time GPUs started being programmed by shaders - prior to that era OpenGL was quite pleasant compared to DirectX, yet DirectX mostly overtook OpenGL

Re: Why you should use OpenGL and not DirectX

#42

>However, there's one big problem: they don't work on Windows XP! Half of PC gamers still use XP, so using DirectX 10 or 11 is not really a viable option. This problem does not exist anymore.

I know what you mean but http://store.steampowered.com/hwsurvey still shows 14.63% on XP - not a huge amount but still hanging on.

Re: Why you should use OpenGL and not DirectX

#43
post #39
post #21

Earlier quoted context omitted.

Sure, they are some edge cases where it might make sense, but even then i would analyze requirements very carefully. I have quite a bit of experience with Unity3D and besides being really simple to use you can basically extend it with any C#/C++ library that you see fit. Support for Webcam input streams is there out of the box and id argue theres hardly anything it cant do. Of course, if you want to be (or are) an en…

> Sure, they are some edge cases where it might make sense, but even then i would analyze requirements very carefully. I have quite a bit of experience with Unity3D and besides being really simple to use you can basically extend it with any C#/C++ library that you see fit. Sure, Unity3d is very flexible and has given us some outstanding games. Like Kerbal Space Program, for example. KSP has quite a bit of modificatio…

Hindsight on projects is 20/20, and you can't discount the productivity boost that using something that let's you focus on the game straight away gives you.

Re: Why you should use OpenGL and not DirectX

#44
post #27
post #3

It feels like a lot and nothing has changed since that 3.9 year old blog post. On one had webGL, steamOS, Mac games, iOS games, and Android Games. On the other hand gaming PC is still a windows PC. What are your thoughts?

I don't write games, but I certainly do play games. Cross platform titles always run better on my Windows install. Always. So, yeah, Windows for games, I don't really care about the politics.

That's beginning to change, thankfully. I look forward to the day where games are all cross platform without loss of quality.

Re: Why you should use OpenGL and not DirectX

#45

One of my friend, a game developer, said that, once you get familiar with the DirectX 11, you will not want to use any other APIs. They look outdated. And seriously, the GNMX API (a high level wrapper of GNM) of PS4 has more similarity to DirectX than OpenGL.

Game developer, or engine developer?

Re: Why you should use OpenGL and not DirectX

#47
I'm amazed at the comments here on this thread... Personally OpenGL is strictly superior to DirectX, solely due to being cross platform. With the release of the Steam Box and a push from Valve to look at Linux as a first class target for games, hopefully we'll see development proceed to create better tooling to rival that and exceed DX.

This is good for all of us consumers, as the lock in inherent to the technology choices made my game devs will be diminished. I can only see that as a good thing.

And besides, middleware is getting so good, how many of us really need to hack on an engine anyway. My games logic is done in Lua, not C/OpenGL :)

Re: Why you should use OpenGL and not DirectX

#48
post #36

Earlier quoted context omitted.

Many studios use game engines that either abstract away the graphics API or at least greatly simplify it. Building your own AAA engine is quite expensive even if you have a lot of resources. OpenGL ES 2+ is more like DX10 and less like Open GL.

> Many studios use game engines that either abstract away the graphics API or at least greatly simplify it. Not only do they abstract away API details, perhaps even provide an api independence layer but they actually make the 3d magic hapen. OpenGL/D3D have no notion of "3d", there are no models, cameras, scenes, etc. > OpenGL ES 2+ is more like DX10 and less like Open GL. Not really. OpenGL ES is still like OpenGL.…

DX10 was noteworthy over DX9 in that it got rid of even emulated fixed functions and went pure programmable, which is why I compare it to OpenGL ES. Microsoft* seems to be much more eager about breaking backward compatibility between DX versions for the sake of cleanliness and performance, which is kind of ironic....

*(disclosure: my employer, but I don't work in this area)

Re: Why you should use OpenGL and not DirectX

#49
post #31

Earlier quoted context omitted.

DirectX has a way better API which might be why. DirectX has been COM oriented, OOP design, for years. While OpenGL was handle-based, purely procedural.

This is a bit off topic - Do you know a good source (preferably in book form) on development with Direct3D and HLSL? I have been looking, and I'm not really sure where to start. The focus is on low-level shader programming, not drawing 3D models but manipulating 3D primitives. Preferably if it is possible to do using some C# wrapper.

http://www.amazon.com/Introduction-3D-Game-Programming-Direc...

Fantastic book. C++ but you can use SharpDX for your C# development, which complies reasonably closely with the standard DirectX APIs. There are numerous websites/articles only a Google search away to fill in any gaps if/when you get stuck. This is the approach I've been taking. http://nathanridley.com if you're interested.

Re: Why you should use OpenGL and not DirectX

#50
post #39
post #21

Earlier quoted context omitted.

Sure, they are some edge cases where it might make sense, but even then i would analyze requirements very carefully. I have quite a bit of experience with Unity3D and besides being really simple to use you can basically extend it with any C#/C++ library that you see fit. Support for Webcam input streams is there out of the box and id argue theres hardly anything it cant do. Of course, if you want to be (or are) an en…

> Sure, they are some edge cases where it might make sense, but even then i would analyze requirements very carefully. I have quite a bit of experience with Unity3D and besides being really simple to use you can basically extend it with any C#/C++ library that you see fit. Sure, Unity3d is very flexible and has given us some outstanding games. Like Kerbal Space Program, for example. KSP has quite a bit of modificatio…

I know KSP lead designer, they use Unity because of him, he is not a programmer, and knew only how to code more or less with Unity, that he learned on university ( I was student with him ), now they have professional coders, but kept Unity for legacy reasons ( that is: they already started on it, so keep it...)
Post reply on HN