Carmack: Direct3D is now better than OpenGL

id ソフトウェアのジョン・カーマックが D3D は OpenGLAPI よりも良いと言っている記事がありました. 理由については, D3D に関しては API を良くするために互換性を断ち切るような大胆な変更をして, どんどん改善していくからです. それによって, 例えば, D3D11 に導入されたコマンドリストや deferred context の機能によってマルチスレッドによるGPU のコマンド生成もできますし, グラフィックスドライバの状態管理の方法もより良くなっています. 一方で, OpenGL は互換性に引っ張られていて, 新しい API を使うときにはメインの API ではなく拡張 API を使う必要があったりします.

John Carmack says that D3D is now better than OpenGL. The reason is that D3D changes their API to improve it even with incompatible changes. So, D3D handles multi-threading better (like command list, deferred context in D3D11), and newer versions manage state better. On the other hand, OpenGL has been held back by compatibility concerns, and when using new features you must use extensions, rather than the main API.

もしシェーダモデル 4.0 や 5.0 に対応したグラフィクス API を使うなら, サンプルプログラムが沢山あって, API がより使いやすくなっている DirectX11 を使うことをお勧めします.

If you want to use graphics API with Shader Model 4.0 or 5.0, you should use DirectX11 because there are many sample programs and the API is renewed for them.