最適なOpenGL®SDKを選択するにはどうすればよいですか?
多くのOpen GraphicsLibrary®(OpenGL®)ソフトウェア開発キット(SDK)が利用可能ですが、多くは特定の使用に特化しています。 グラフィックスカードとハードウェアの開発者は通常、コードサンプルとドキュメントに関してかなり完全なOpenGL®SDKを提供しますが、これには会社が生産するハードウェア固有の機能も含まれる場合があります。 一部のSDKは、OpenGL®抽象プログラミングインターフェイス(API)への簡単なアクセスを提供することに重点を置いており、通常は分子の視覚化、物理学、インタラクティブアートなどの特定の使用法に焦点を当てています。 より完全なOpenGL®SDKには、コアAPIの機能を拡張する完全に機能するフレームワークまたはシーングラフを含めることができますが、単純なSDKよりも学習曲線が急になる場合もあります。 多くのOpenGL®SDKは、リアルタイムアニメーション、インタラクティブな3次元(3D)環境、またはビデオゲームに最適な高性能グラフィックスとアルゴリズムの提供に重点を置いています。
重要な違いの1つは、OpenGL®SDKはOpenGL®APIとは異なることです。 APIは、OpenGL®アプリケーションの作成とコンパイルに必要な基本インターフェースです。 OpenGL®SDKは、APIの機能を拡張したり、拡張OpenGL®ドライバーを組み込んだり、APIを使いやすくするためのツールを提供したりできるツール、ソースコード、ドキュメント、ライブラリのコレクションです。 OpenGL®の開発者は公式のOpenGL®SDKを管理していません。そのため、すべてのキットは、OpenGL®Architecture Review Board(ARB)とは無関係に、個々のコミュニティ、プログラマー、または企業によって作成および開発されます。
最適なOpenGL®SDKは、プログラマーの専門知識に適したものであり、プロジェクトにとって過度に複雑なものではありません。 関数またはアルゴリズムの結果を表示するなどの単純なプロジェクトの場合、基本的な数学SDKは、一般的に、半透明の髪のレンダリングなどの特別な機能に焦点を当てるグラフィックカードメーカーが提供するキットよりもはるかに適しています。 同様に、OpenGL®の基本的な描画機能はAPIのみで提供されるため、場合によっては、最適なSDKはSDKなしかもしれません。
大量のモデルの読み込みと画像操作を必要とする大規模またはインタラクティブなプログラムの場合、フル機能のOpenGL®SDKが必要になる場合があります。 市販のSDKとオープンソースSDKの両方は、頂点バッファオブジェクトの構築やタイミングアニメーションなど、頻繁に使用される多くの機能を非常に簡単にアクセスできる複雑なレベルで利用できます。 ただし、完全なシーングラフと同じくらい大きなものを実装するSDKの複雑な点の1つは、SDKのコードが基本的なOpenGL®テクニックから非常に遠く離れているため、急な学習曲線が必要になることです。
OpenGL®SDKに付属のツールは、開発の効率化に役立つ場合があります。 これらには、プログラムを表示して、SDKまたは一般的に使用されるモデリングプログラムのプラグインでレンダリングしたときにシーンまたはモデルがどのように見えるかを確認できます。これにより、ファイルをSDKで使用可能な形式に直接エクスポートできます。 ツールに加えて、優れたSDKの機能の1つは、適切なドキュメントと、質問が発生した場合に回答できるコミュニティです。