Hacker News new | ask | show | jobs
by bitwize 4400 days ago
Except on Windows you cannot run Direct3D anywhere else. Unless you plan not to publish on Android, iOS, OSX, Linux, Steambox, PS4 etc. you will have to target OpenGL, no matter how much you dislike it.

Yeah? So? If the graphics API which provides reasonable guarantees of feature availability and performance exists only on one platform, you code for that platform if you need those guarantees. There is a reason why until recently virtually all PC games, and a great many other graphics applications, were Windows only.

Yes driver quality for OpenGL is bad. It is getting better though, and I'd suggest rather than complaining about OpenGL, how about you complain about Microsoft, Dell, HP, Nvidia, AMD etc.?

Khronos Group failing to provide rigorous conformance tests and driver quality standards IS A FAILURE OF OPENGL. That's why Microsoft provided extensive support for OEMs and driver developers from the get-go with Direct3D: they wanted their API to be used.

If you care about graphical performance, then OpenGL is simply not up to the task. You should be using Direct3D, period.

1 comments

> If you care about graphical performance, then OpenGL is simply not up to the task.

I'm always confused when people say stuff like that.

1. Random forum user says "OpenGL is not up to the task". 2. AAA game developers says "That the Linux version runs faster than the Windows version (270.6) seems a little counter-intuitive, given the greater amount of time we have spent on the Windows version. However, it does speak to the underlying efficiency of the kernel and OpenGL." http://blogs.valvesoftware.com/linux/faster-zombies/

Who do I believe?

I believe the AAA game developers that say things like "I’ve spend years porting games from DX to GL on the Mac including multiple Call of Duty franchisees, Civilization franchisees, and more. You are always taking it on the chin with GL where DX works." https://medium.com/@michael_marks/opengl-for-real-world-game...

Valve was testing a game that was already years old when the tests were run, based on an engine that was written for DX9, and presumably only the happy case in terms of hardware and driver support (meaning an NVIDIA card and proprietary driver). If you're developing a AAA game for release next Christmas, you're going to want it to look better than the state-of-the-art from five or even three years ago. If you attempt that with OpenGL, you are going to run into holes in driver support for various GPU features, not to mention discrepancies in which rev of OpenGL is actually supported by the platform, which you will then have to work around with various vendor-specific extensions, which means more code paths and more things to debug. And then once all those holes have been painstakingly plugged, you can get to work on the performance hiccups...

Or you could use Direct3D, where everything Just Works on the same code path.

You can bet your ass that when HL3 is released as foreordained by the prophecies, it will be a Direct3D-only title at first. And remain so for at least a year.

During Steam Dev Days when Valve talked about Source 2 (which, if HL3 ever ships, will almost certainly be the engine used) they were almost always talking about their OpenGL backend or how they manage Direct3D and OpenGL without having to write everything twice. It'll ship with both on Windows and default to D3D, just like Source does now (and has for years iirc).