Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Or, possibly, because it's a better API and more developer-friendly environment.

Working at a low level with OpenGL is really painful, and there are no Direct3D-quality libraries on top of it to blunt that pain.



Do you have any comparisons or examples? I've found OpenGL to be a fairly straightforward API (if you ignore all the depreciated stuff)...


Just off the top of my head, because it's been a while since I rolled a list like this. One is a complaint from friends of mine that I haven't personally tripped over; others are my own issues from assorted hilarious Failures Of Graphics Programming.

* A total lack of typing. Everything is a GLuint. By the time I've bodged together sufficient type safety to be comfortable, it looks like DirectX.

* Extensions suck. Abjectly suck. While Direct3D has its problems, it does a pretty good job of saying "you must support these things". OpenGL attempts to vaguely say the same thing, but the difference is that Direct3D enforces support of things I want to use. It seems that you end up with many more code paths for OpenGL if you want to properly handle a lot of stuff.

* Difficult to query about GLSL problems, if possible at all. (An older example that's stuck with me is the noise() function, which nobody implemented the last time I dealt with this stuff. They returned a constant. Detecting this failure mode was nontrivial.)

* Tooling. As usual, Microsoft is way ahead in this area.

A project of mine uses OpenGL instead of D3D, but that's primarily because I'm not the graphics guy on that project. My own stuff just uses XNA, as it's 2D stuff I want to deploy to the 360.


from launch until basically 2000 DirectX was definitely not a better API. having full control over defining a 3D API was great, I'm sure, but it was absolutely used as leverage and opengl support absolutely languished (and still does, today, though the GPU vendors are fully complicit).


I agree, but I don't care about "until 2000". That was 11 years ago.


well sure, but that's not what you were responding to. OpenGL was still quite new (and broadly supported) when Microsoft started pushing DirectX.

This isn't really material to the discussion at hand, though.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: