CAVE7

 あー 疲れた、さすがに6時間あの部屋はつらい。空気は悪いし、5台のCRTと3D酔い発生器からの攻撃力が予想以上に強い。ということで、7回目いってみよう。

 今日はレースプログラムと3Dデータ表示、それからいままでの問題直したやつに、音とJoyPadのテストまでやろうとしてたので、ウキウキでした。最初は・・・。

<今日やったこと>

・ブレンドがうまくいかない問題解決。Depth Testに加えglDepthFuncをGL_ALWAYSにしたら、直った。普通にOpenGLでの僕のミスです。

・4次元上の点を表示するプログラム成功。ワンド(コントローラ)の位置座標の範囲が分かったら、ほぼ問題解決しました。

・迷路を表示するプログラムで、ゲームの進行を”開始画面”、”ゲーム”、”終了画面”に分けて、開始画面、ゲームを別なファイルにしたものを作りました。それはその状態ではコンパイルできず、結局開始画面を削除しました。

・CAVEで下プロジェクタに投影される映像が正しくない問題解決。やっぱりglLoadIdentityはCAVEでは使っちゃ駄目みたいです。代わりにglPushMatrix、glPopMatrixを使いました。

・迷路プログラムでglLoadIdentityを使わなかったときに、開始位置がおかしくなる問題解決。結局、開始位置が変なのではなく、迷路全体が小さすぎて位置がおかしく見えるだけでした。迷路を10倍ぐらいにしたら。普通に見えるようになりました。

・迷路は普通に表示できるようになりましたが。CAVEの4つの画面で微妙に位置がずれているのを発見。よく見ると、それぞれの画面で別な移動&当たり判定プロセスが動いているみたいです。(ありえん・・・。)

・上の問題が解決するかもと思い、OpenGLの行列変換関数(glRotate, etc...)などを使わずに、CAVENav~関数だけで移動・回転を行なうようにしようとしましたが、どうやってもうまくいかず。位置がずれたり、移動がおかしかったりしてました。(わからん・・・)

・迷路を改造したレースゲームのプログラムをコンパイルできず!Windows用に作ったプログラムさえ、同じ意味不明なエラーを吐いて、コンパイルされません。原因はJPEGファイルを読み込むライブラリにあるようです。画像は全部BMP使えってことでしょうか?・・・。

・レースゲームと同じ理由により、3Dデータを読み込むプログラムもコンパイルできずTT。今日一番楽しみにしてたのはこの2つだったのに・・・・。

・音、出ました。そりゃそうだWindows起動音してたし、いつも。

・JoyPad認識、んでJoyToKeyを使ってキーボード等の入力に変えて、CAVEでそれをつかまえることで、JoyPadでコントロールできるようになりましたー、やったー。USB延長ケーブル使えば距離の問題も解決。みんなが慣れ親しんだ、ゲームコントローラーの方がやっぱ使いやすいです。


 こんなんで、右の杭を打つと左の杭が出るがごとく、過去のバグを直したら新たなバグが発生しました。まともなプログラム動かせるのは、いつになることやら。

投稿者 robosheep : 2005年11月08日 20:42

トラックバック

このエントリーのトラックバックURL:
http://render.s73.xrea.com/mt/mt-tb.cgi/547

コメント

そういえば、CAVEでの当たり判定についてもっと考えなくてはいけないことに気づきました。
というのもCAVEはOpenGL単位で10*10の立方体を現実の装置と結び付けています。つまり、視点を中心に小さな範囲で当たり判定を行っても、装置の中で人間が隅に移動してしまえば通れないはずの壁を抜けてしまうのです。

投稿者 robosheep : 2005年11月11日 20:26