Live data from Hacker News

Why you should use OpenGL and not DirectX

blog.wolfire.com

21–30 of 187 posts

Re: Why you should use OpenGL and not DirectX

#21
post #18
post #12

Isn't this more or less a problem of the past? Today with tools like Unity3d, UDK, CryEngine, Shiva Engine, MonoGame etc, game developers are at a point where they can pretty much stop worrying about the OpenGL/DirectX layer beneath their engines. Those Engines have become so powerful and affordable that it hardly makes any sense to roll your own. In fact, imo you would need a very strong reason to build your own eng…

> Isn't this more or less a problem of the past? Yes and no. If you want to be writing a typical 3d game like an FPS, and RTS or 3rd person platformer, you can and probably should use an off the shelf 3d engine and stay away from the lower level APIs, OpenGL and d3d. However, if you want to do something more exotic, say processing your webcam input stream with your GPU, or write a space scale render of the solar syst…

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 engine programmer, go for it and get your feet wet using OpenGL/DirectX, but for the broad mass of game developers, these aren't issues anymore.

Playing with it directly can be fun yes, but it can also be frustrating if all you want is so much easier with a game engine.

Re: Why you should use OpenGL and not DirectX

#22
post #9

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.

Yes, many that bash DirectX never experienced how the whole ecosystem works and the existing offers in terms of tooling for performance analysis.

> Yes, many that bash DirectX never experienced how the whole ecosystem works and the existing offers in terms of tooling for performance analysis.

Usually people don't "bash" DirectX or D3D. Most OpenGL programmers acknowledge that it is a better API with more corporate backing (ie. budget). But at the same time it is still Windows only, and for a lot of people it simply isn't an option.

For OpenGL, the tooling is provided by individual vendors, and yes, it's not as good as d3d. But the situation has improved in the past few years and keeps on improving.

Re: Why you should use OpenGL and not DirectX

#23
Portability etc notwithstanding and purely from an API point of view, there's no question that DirectX is superior to OpenGL. There are lots of examples, but the mere fact that you need _another_ 3rd party API such as GLEW even to be able to use OpenGL's latest features in the first place should speak volumes.

Re: Why you should use OpenGL and not DirectX

#24
post #20
post #8

Again that post. Spreading the lie that all game consoles support OpenGL. Yes, OpenGL is a great API if one cares about portability and FOSS. Reality, the game industry cares about their IP and getting games released no matter what technology stack is used. Many AAA studios don't even develop for all platforms, rather target a main one, leaving the port to subcontractors. Back in the golden days of the arcades, many…

> Many AAA studios don't even develop for all platforms, rather target a main one, leaving the port to subcontractors. AAAs are one thing and are mostly based on engine technology that has been in development for years. For them D3D vs. OpenGL is a non-issue that was solved a decade ago. Or they stick to being Windows only. And they have the budget to port (or hire a subcontractor to port) one way or another. For ind…

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.

Re: Why you should use OpenGL and not DirectX

#25
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.

Re: Why you should use OpenGL and not DirectX

#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.

Re: Why you should use OpenGL and not DirectX

#28
post #21
post #18

Earlier quoted context omitted.

> Isn't this more or less a problem of the past? Yes and no. If you want to be writing a typical 3d game like an FPS, and RTS or 3rd person platformer, you can and probably should use an off the shelf 3d engine and stay away from the lower level APIs, OpenGL and d3d. However, if you want to do something more exotic, say processing your webcam input stream with your GPU, or write a space scale render of the solar syst…

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…

Not sure I would call it an edge case. It's really a use case. These days, there are many developers who use the GPU for other things than plain vanilla 3D graphics. If there was ever such a thing.

I'm doing a combination of scientific and practical computing, and I'm currently in the middle of the choice of whether to use DirectX or OpenGL. Portability counts, but so does simplicity. It's a very relevant question.

Re: Why you should use OpenGL and not DirectX

#29
post #26

And since this article was written Microsoft has pretty much admitted defeat by incorporating WebGL (a simplified version of OpenGL) in IE11.

Has there ever been a competing option of WebDirectX they could have tried to push instead? Or is admitting defeat in this case the same as admitting defeat by implementing Flexbox?

Re: Why you should use OpenGL and not DirectX

#30
post #23

Portability etc notwithstanding and purely from an API point of view, there's no question that DirectX is superior to OpenGL. There are lots of examples, but the mere fact that you need _another_ 3rd party API such as GLEW even to be able to use OpenGL's latest features in the first place should speak volumes.

You don't _need_ GLEW, it is just convenience library.
Post reply on HN