Hacker News new | ask | show | jobs
by kevingadd 4712 days ago
The 'caps bits' problem is really the core of it. OpenGL in that era was a nightmare for anything resembling game rendering. The OpenGL we have now is pretty reasonable, but back then, Direct3D was a breath of fresh air and DirectDraw was a much saner way to push pixels around efficiently as well. It was hard for me to ever understand why people preferred OpenGL at the time (other than the obvious benefit of theoretical portability). Vendor-specific shader bytecode, UGH.
1 comments

It was hard for me to ever understand why people preferred OpenGL at the time

OpenGL was elegant and very simple to use, quickly becoming close to invisible. DirectX, in comparison, was layers upon layers of COM book-keeping code.

Of course OpenGL has become like DirectX in more recent iterations, as in the end immediate satisfaction is less important than flexibility.

For me the definition of 'layers' was having to juggle dozens of interacting state flags and mutually exclusive vendor-specific extensions just to draw a dual-textured triangle or render to a render target.

COM really wasn't that much of a hassle in comparison. A couple smart pointer templates and you're off to the races. I can see how a C developer would really resent it though - nothing but a pain compared to GL's regular C, 'everything is void*' api.

I guess it depends upon what period we're talking about here. DirectX didn't add multi-texturing until DX 6.1, half a decade after hitting the market.