2005年5月24日火曜日

第一回 「まずOpenGLとは・・・。」

 OpenGL とVC++を使用して遊びましょう。OpenGL説明中にVC++、MFCの言葉が入ってくるかと思います。
一応ここを見る人はVC++を使用して開発する人を前提に書きますのでその辺はよろしくお願いします。
C#やWinAPIでも出来なくはないのですがそれはまた別のお話で。



まずはここから!
OpenGLってなに?
OpenGLとは3次元グラフィックAPIのことを言います。
3次元のコンピューターグラフィックを描くのであればDirectXもあるではないかと思った人。その通りです。
DirectXでも3次元コンピューターグラフィックは描けます。
ちなみにOpenGLはグラフィックを描くだけですがDirectXはネットワークやサウンドも合わせて提供してくれますので最近のゲームに多く使用されています。(開発が楽なのです)


ではOpenGLでは何が良いか?もちろん3次元グラフィックの描画速度はDirectXより速いです。
さらにDirectXのようにバージョンがいくつもあるなんてこともないのでOpenGLでは


「自分のPCでは動くのに他人のPCでは動かない!」


なんてことはまずないです。
さすがにグラフィックカードの性能によっては多少変な表示はされるようですが(^^;


OpenGLは描画速度が速いのでCAD,CAM、シミュレーションに多く使われています。


では早速手始めにOpenGLを使ってみましょう。
OpenGLのAPIにどんなのがあるかなんて後回しで表示してみましょう。
10個の手順で単純に表示まで出来ます。


1.まずVC++のプロジェクトでMFC-SDIを作成します。
2.ファイルをダウンロードしてみてください。⇒ダウンロード
3.2でダウンロードしたファイルをプロジェクトに追加します。
4.Viewクラスのヘッダーに次の1行を追加してください。
       #include "OpenGL.h"
5.さらにViewクラスのヘッダーに次の1行を追加してください。
       COpenGL *m_pOpenGL;
6.クラスウィザードでViewにOnInitialUpdateを追加してください。
7.View のOnInitialUpdate関数に次の1行を追加してください
       m_pOpenGL = new COpenGL( this );
8.View のOnDrawに次の1行を追加してください。
       m_pOpenGL->DrawOpenGL();
9.コンパイルしてください
10.実行

これで青い画面が表示されれば成功です。
画面が青いだけで何も表示されていませんが一応OpenGLで描かれています。


ちなみにInitOpenGL関数内にあるglClearColorの引数を変更すると画面の色が変更されます。


glClearColor関数説明:
第1引数:赤0.0~1.0までで設定
第2引数:緑0.0~1.0までで設定
第3引数:青0.0~1.0までで設定
第4引数:アルファ0.0~1.0までで設定



次回はいよいよ形状を表示させましょう。