なぜOpenGLを使うのか?

なぜ、DirectXではなくOpenGLなのか?

最新のグラフィックス、最速の描画を行うのであれば間違いなくDirectXがベストですが、
3Dを勉強したい、ころころ変わるDirectXにはついて行けないという方、いろんなOSで
シェーダーモデル5.0を使いたいという方にはOpenGLをおススメします。

OpenGL 4.0

OpenGL4.0を駆使すれば、MacOSやLinux、Windows XP、Vista、7、8の4世代のWindowsに渡って
DirectX 11世代のシェーダーモデル5.0を使う事ができます。

DirectXより簡単

当サイト管理人の感想ですが、DirectXに比べてOpenGLは割と簡単な印象を受けます。

業界標準となる可能性

OpenGLが右手座標系、DirectXが左手座標系を採用しているのは大きな明暗。
数学やほとんどの3Dアプリでは右手座標系を使用しています。
ODEやOpenALなども、そうです。つまり右手座標系が業界標準だったのです。
最近ではDirectXも左手座標系と右手座標系を選べるようになったのですが、
統一されていないのは混乱を招く種です。
また、OpenGLはプレイステーション1,2,3、iphoneアプリなどのSDKとして
採用されています。

C/C++を使う理由

言うまでもなく、豊富な各種ライブラリと過去の遺産を無駄にする事なく
プログラミングするためです。
実行速度という点では、アセンブラに劣るでしょうが、VisualC++の場合、
MASMがインラインアセンブラで使えます。
GUIに関してはC#、VisualBasic、JAVA + Swingに、分があるように感じるかも
しれませんが、.NET Frameworkでしたら、C++/CLIを用いる事でC#と同等の
GUIができます。
さらに、C++/CLIの言語仕様もJAVAのような完全なオブジェクト指向ではないため、
オブジェクトが存在しなかった時の例外処理等を記述しなくても良く、
非常に楽をする事ができます。
C#で追加されたガベージコレクションやファイナライザといった機能も併せ持って
いる上に、単純に同じようなアプリケーションを作成した場合、C#製の物よりも
C++/CLI製の.NETアプリの方が速いようです。
つまり、現時点でWindows環境下において、究極の開発言語という事になります。

freeglutを使う理由

これも言うまでもなく、圧倒的にプログラムコード量を減らし楽をするためです。
また、単純にOpenGLの使い方を覚える点で面倒な初期化関連やウインドウの
作成などの手間を省くためです。
「こんなに簡単にOpenGLプログラミングできるんだ」という事を体験するには
freeglutが1番適していると思ったからです。






最終更新:2023年08月27日 22:38