Archives

OpenGL(freeglut)ラッパーつくったよー

ここに上げてます。

github初公開レポジトリです。

win/mac/linいけます。openGL素晴らしい。

winではcygwinがfreeglutがなぜかダメだったのでvisualstudioで使って下さい。
あとmacもfreeglutがうまくいかないので、OpenGLWindow.cppの61行目”glutMouseWheelFunc(mouseWheelFunc)”をコメントアウトして下さい。
macports用のMakefileになってるので通常のmacでやりたい方は書き換えて下さい。

linはubuntu12.04で動作確認。でもvirtualbox上だからかもしれんがマウスホイールを拾ってくれませんでした。

とりあえず使い方は、

・OpenGLBase.cppの変数DIMENSIONを変えると平行投影、遠近法が切り替わります。(2で並行、3で遠近)
・同じくOpenGLBase.cppのmain内のwindowコンストラクタの引数でウインドウサイズと背景色決定(width, height, DIMENSION, red, green, blue)
・描画はDrawerクラスのdraw関数内に。
・時間変化はDrawerクラスのupdate関数内に。

・q or ESCで終了。
・sでアニメーションスタート。
・マウスホイール使えない時もzでズームイン、xでズームアウト。

だいたいこんな感じです。
ただのみんな持ってるラッパークラスなので機能は無いです。

詳しいこととか改善はまた気が向けば。

f:id:Drunkar:20120602051311p:image
謎すぎるサンプル画像。

netbeansでC++でOpenGL(GLUT)を動作させるまで

いままで初心者なりにvc++でコーディングをしていたのですが、windowsに特化した環境に慣れてしまうのはどうもなあ、と思ったのでとりあえず人気と言われるIDEのnetbeansを使ってみることにした。その導入の備忘録です。

まず、netbeansのサイトに行ってnetbeansをダウンロード&インストール。c++入のやつ。

それで次はcygwinのダウソ&インスコ。環境変数PATHにC:cygwinbinを追加。
ここで重要なのはOpenGL, GLUT関係のものと、X11をインストールすることと、すでにBorlandのC++コンパイラとかをインストールしている場合は、環境変数PATHに、C:borlandbcc55binよりも前にC:cygwinbinを置くこと。でないとErrorになります。

ここでnetbeansのツール>オプション>C/C++を見て

ベースディレクトリ:C:cygwinbin

Cコンパイラ:C:cygwinbingcc.exe

C++コンパイラ:C:cygwinbing++.exe

アセンブラ:C:cygwinbinas.exe

makeコマンド:c:cygwinbinmake.exe

となっていることを確認してください。

そしてnetbeansでC++アプリケーションを作って<GL/glut.h>をincludeして、ここで左上のウインドウのプロジェクトフォルダ(名前を付けなければCppApplication_1となるやつ)を右クリック>プロパティ>リンカー>ライブラリ>ライブラリを追加でGL.dllとかGLUT.dllとかglutを追加します。(ライブラリは通常C:cygwinlibにある)

あと、これが一番大事ですが同じく右クリック>実行>環境の、名前にDISPLAY、値に:0.0を追加します。これをしないとfailed to open display ‘ ‘というエラーが出ます。

そしてC++コードを実行する前に、スタートメニューに登録されていると思われるXWin Serverを起動し、タスクバーにアイコンが表示されていることを確認します。

これで、netbeansでOpenGL(GLUT)が実行できるはずです。winとmacとlinuxを使いこなせるね!(使いこなせたらいいな!)