Live data from Hacker News

Why you should use OpenGL and not DirectX

blog.wolfire.com

81–90 of 187 posts

Re: Why you should use OpenGL and not DirectX

#81
post #66
post #22

Earlier quoted context omitted.

> 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 p…

Which vendors? Besides gDEBugger there isn't any tool that I am aware of, that can match the performance monitoring of DirectX and console specific APIs. Even NVidia only started to invest in OpenGL performance measuring tools, after their Android support started.

> Which vendors? Besides gDEBugger there isn't any tool that I am aware of, that can match the performance monitoring of DirectX and console specific APIs.

Yes, there probably aren't tools that are as good as the D3D tools. But Nvidia, AMD and Intel have all released OpenGL profiling and debugging tools. Yes, every vendor has their own tools. Not ideal.

Re: Why you should use OpenGL and not DirectX

#82
post #69

Isn't mobile and the web the decider these days? Article is from 2010, but consider if you want to develop 3D on any of these platforms: iOS - OpenGL ES Android - OpenGL ES Mac - OpenGL Linux - OpenGL HTML5 - WebGL (based on OpenGL ES) - even in IE! Emerging platforms like Tizen, Firefox OS - OpenGL ES/WebGL DirectX is just for Windows and Windows Phone. Isn't it getting to the point where the bother of having to wri…

Game consoles - proprietary 3D APIs OpenGL != OpenGL ES != WebGL, yes they are all based on the same concepts, but require separate code paths and different shader versions.

> OpenGL != OpenGL ES != WebGL

Whilst technically true, WebGL is designed to have API compatibility with OpenGL ES (2), which in turn is based off of OpenGL (2). OpenGL ES 3 and WebGL 2 are beginning to emerge and are based off of OpenGL 3. In my experience shaders that work with WebGL will also work with OpenGL ES 2 and OpenGL 2.1. Equivalent versions tend to use the same concepts. On the other hand, code written for desktop (v3+) won't work on mobile, because the desktop version is one version ahead of mobile (and I imagind that it will be for several more versions).

Re: Why you should use OpenGL and not DirectX

#83
post #26

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

There's no way they ever would have exposed DirectX to JavaScript. It's not really admitting defeat to implement a web platform feature that customers want when you have no alternative. They used to be pushing Silverlight as a way to do 3D rendering (which made sense, because it had the DirectX bindings from XNA and .NET is a superior platform for rendering code when compared with JavaScript) but now that Silverlight…

Exposing DirectX to JavaScript would be like allowing the browser to run VBScrpt code. They tried.

Re: Why you should use OpenGL and not DirectX

#84
post #69

Isn't mobile and the web the decider these days? Article is from 2010, but consider if you want to develop 3D on any of these platforms: iOS - OpenGL ES Android - OpenGL ES Mac - OpenGL Linux - OpenGL HTML5 - WebGL (based on OpenGL ES) - even in IE! Emerging platforms like Tizen, Firefox OS - OpenGL ES/WebGL DirectX is just for Windows and Windows Phone. Isn't it getting to the point where the bother of having to wri…

Game consoles - proprietary 3D APIs OpenGL != OpenGL ES != WebGL, yes they are all based on the same concepts, but require separate code paths and different shader versions.

On Linux (I assume Mac too but haven't tried), you can force yourself to OpenGL ES. In fact, I would recommend it. The nice thing about OpenGL ES is that there is only one main way to do things so it is a lot harder to use something slow like glBegin().

Re: Why you should use OpenGL and not DirectX

#85
Microsoft use to be on the OpenGL board (I believe in the 90s?). OpenGL was geared towards scientific development, and we know Bill Gates wanted PC to be gaming platform. OpenGL at the time wasn't good enough, nor were they willing to make the necessary changes to meet Microsoft's goals.

DirectX was born out of necessity, not proprietary greed.

Edit: Maybe its time to take another look at OpenGL - open is better than closed, especially for the multi-platform aspect. But does it have the same features as DirecX? Tesselation, shader programming, etc.

Re: Why you should use OpenGL and not DirectX

#86
post #69

Isn't mobile and the web the decider these days? Article is from 2010, but consider if you want to develop 3D on any of these platforms: iOS - OpenGL ES Android - OpenGL ES Mac - OpenGL Linux - OpenGL HTML5 - WebGL (based on OpenGL ES) - even in IE! Emerging platforms like Tizen, Firefox OS - OpenGL ES/WebGL DirectX is just for Windows and Windows Phone. Isn't it getting to the point where the bother of having to wri…

Game consoles - proprietary 3D APIs OpenGL != OpenGL ES != WebGL, yes they are all based on the same concepts, but require separate code paths and different shader versions.

> Game consoles - proprietary 3D APIs

Back in the day that was true, but I don't think that's the case these days. Xbox is obviously DirectX. Wii was OpenGL, and I think Sony used OpenGL as well.

Re: Why you should use OpenGL and not DirectX

#87
post #16
post #10

As a sidenote, Wolfire is currently working on http://www.wolfire.com/overgrowth which is quite impressive in terms of game mechanics. They also post development videos on Youtube regularly which i find highly interesting: http://www.youtube.com/WolfireGames

Yes, but thanks to their HumbleBundle.com success, over the years Overgrowth looks more like a engine tech demo and vaporware.

Humble Bundle spun off from Wolfire years ago. David is still working on the game full time, he was only involved in the very first Humble Bundle.

Re: Why you should use OpenGL and not DirectX

#88
post #55
post #33

Earlier quoted context omitted.

> Soon all of these will support WebGL/HTML5 as a target and even render most of the (still very basic) WebGL engines obsolete Uh, most of those have their core runtime engine written in C++ and are probably not itching to port their CPU-side code to JavaScript.. Porting to WebGL is only trivial for the GLSL shaders, nothing else. If anything, these companies are waiting and holding out for either PNaCl/ASM.js/Emscri…

It's going to be an interesting race between the Web-native engines and the emulated C++ ones. Some of the WebGL based platforms have come pretty far already, eg. Turbulenz. The Emscripten based competition only have a few tech demos so far and the possible coming of PNaCl outside Chrome doesn't look that probable at this point.

If you use pNaCl, you can have an Emscripten fallback.

Re: Why you should use OpenGL and not DirectX

#89
post #86
post #69

Earlier quoted context omitted.

Game consoles - proprietary 3D APIs OpenGL != OpenGL ES != WebGL, yes they are all based on the same concepts, but require separate code paths and different shader versions.

> Game consoles - proprietary 3D APIs Back in the day that was true, but I don't think that's the case these days. Xbox is obviously DirectX. Wii was OpenGL, and I think Sony used OpenGL as well.

Sony have some shitty support for OpenGL. Any developer worth his salt used Sony's API.

Wii had its own API too, though closer to OpenGL, still wasn't OpenGL.

I'm a huge fan of OpenGL, but evangelists have been spreading misinformation about OpenGL just as much as they accuse DirectX as.

Re: Why you should use OpenGL and not DirectX

#90
post #89
post #86

Earlier quoted context omitted.

> Game consoles - proprietary 3D APIs Back in the day that was true, but I don't think that's the case these days. Xbox is obviously DirectX. Wii was OpenGL, and I think Sony used OpenGL as well.

Sony have some shitty support for OpenGL. Any developer worth his salt used Sony's API. Wii had its own API too, though closer to OpenGL, still wasn't OpenGL. I'm a huge fan of OpenGL, but evangelists have been spreading misinformation about OpenGL just as much as they accuse DirectX as.

I really don't get how OpenGL support for consoles became such a urban legend.

Anyone that cares about graphics programming on game consoles knows how broken or non existent such support is.

Post reply on HN