OpenGL
元々はSGIが自社ワークステーションで使用していたIRIS GL(英語版)というライブラリを改良し、移植性を高めたものである。
1992年以降は、OpenGL Architecture Review Board (ARB) により監修される事となる。このARBには、3Dlabs、Apple、AMD(旧ATI)、デル、エバンス・アンド・サザランド(E&S)、HP、IBM、インテル、Matrox、NVIDIA、シリコングラフィックス、サン・マイクロシステムズ(現オラクル)が参加している。2006年9月21日以降からは、100以上の企業で構成される標準化団体クロノス・グループ (The Khronos Group) へ管理が移行し、OpenGL ARB Working Group (OpenGL ARB WG) となった。
オープンな仕様であるため、各種OSに移植または互換GLが作成され、またグラフィックチップベンダーもオープンソースOS用のドライバーを用意するなど汎用性に富むライブラリとなっている。
3以降とDirectX 11 (Direct3D 11) 以降との差異はほとんど無くなっている。とはいえ、OpenGLとDirect3Dは、その設計思想の違いから1対1で対応するものではないため、移植性は完全ではなく、また性能面ではハードウェアおよびドライバーのOpenGL/Direct3D最適化レベルに依存するため、利用分野やプラットフォームに応じた住み分けも依然として根強く残っている。
なお、例えばOpenGLプログラマブルシェーダーを利用するには特定のバージョン以降のOpenGLに対応したハードウェアが必要であるなど、OpenGL対応を謳っているデバイスでも最新のOpenGL機能が使えるとは限らない。また、Intel GMAやIntel HD Graphicsなどのように、DirectX 9.0c(シェーダーモデル3.0)には対応するがOpenGL 2.0には対応しなかったり、DirectX 10(シェーダーモデル4.0)には対応するがOpenGL 3.2には対応しなかったり、DirectX 11(シェーダーモデル5.0)には対応するがOpenGL 4.3には対応しなかったり、さらにはOSによってOpenGLの対応バージョンに違いがあったりと、DirectXと比べて同等世代のOpenGLへの対応が遅い環境も存在する。
OpenGL単体では、Windows GDIやCore Graphicsのような高レベルの文字列描画用APIが用意されていない ため、あらかじめ文字が描画されたテクスチャを(画像ファイルから読み込むなどして)利用するか、プラットフォーム依存の高レベルAPI(例えばWindowsの場合はwglUseFontOutlines()関数など)と連携する必要がある(クロスプラットフォームのユーティリティライブラリであるGLUTなどを使用すると、文字・文字列を描画することができるが、その機能はごく限られており、あくまでデバッグ用途などの簡易的なサポートにとどまる)。NVIDIA拡張としてはGL_NV_Path_Rendering が存在し、高レベルなプリミティブ描画のGPUアクセラレーションやフォントもサポートするが、標準化はされていない。
なお、Direct3Dも同様に文字列描画が弱点であるが、Direct3D 10.1以降ではDirect2DやDirectWriteといった複雑な2D描画や文字列描画に特化した高レベル派生APIおよびDirect3Dとの相互運用・連携機能も整備されている。また、WPFではハードウェアに応じてDirect3Dが使用されるが、Direct2D/DirectWriteのようにAPIが高レベルに抽象化されており、複雑な2D描画や文字列描画にはDirect3DやOpenGLを直接使用するよりも向いている。