2009/10/21

RT 動いたらしいー

こんばんは、Team C# の竹井です。この blog も書くのに協力してくれる人が増えてくれて、ちょっとずつ盛り上がってきました。ひとつ前ではチーム ksk の iwi さんこと秋葉くんがおめでたい記事を書いてくれたので、ちと補足。

実は、彼らのチームって今年の代のゴールデン メンバが集まったようなチームで、実力レベルは最高水準。僕ら Team C# にとっては、非常にいい目標です。もちろん彼らだって僕らだってトップは目指しているのですが、お互いに秘密主義なわけじゃないので、技術供与みたいなこともありますよ。

まぁ、それで本題。昨日、彼らが何をやったかをもう一度簡単にさらっておくと、最終的に動作させる実験基板上にチーム内で作った CPU の回路を焼き付けて、それでレイ トレーシングというプログラムをその CPU で実行して画像を得られたというのが、実際の成果です。で、これがどのくらい素晴らしいかというと・・・ふつう、基板で実際に動かす前に回路が正しいかどうかの検証をするために、回路と同じ動きをするシミュレータをソフトウェアで作成します。そこでレイトレーシングが動くのが、たいていの班ではだいたい 10 月末ごろ (?) らしく、それが終わった後にやっと基板で動くのが 11 月とか 12 月です。それを、彼らは実験はじまって 3 週間たたずそこまでやり遂げたので、驚異的な速度です。

動かす直前、すごい人だかり 終わった! 339 秒
出力画像

上の写真が、まさに昨日のその瞬間。動かすときには、学科の人間の半分が集まってすごい人だかり。誰にとっても、なかなかない興奮だったんですね。その次の写真が、基板との通信を行うプログラム。終了したあとの画像ですが、339.625 秒という文字が出てます。初回のトライでこの速度っていうのも、歴代の記録を見てもなかなか速いんだそうですよ。それで、実際に基板が生成した画像を開いたのが最後の写真。床の表示が白くなっていますが、正しくはタイルになります。彼らに聞いたら、浮動小数点の切り捨て処理を行うfloor 関数の動作に不具合があって、そのせいで床のタイルのテクスチャが張れなかったということらしいです。床だけに床関数の問題だそうで。でも、結局そのあとすぐ直ったみたいです。

シミュレータでの描画

ちなみに高解像度だとこんな感じの画像が出てくるんです。うちの班の話に戻ると、先週の土曜にシミュレータで ksk 班が画像を出すのに成功したという話を聞いて「うちの班も負けてられん」ってことで、コンパイラ係の僕が発奮しまして、月曜の午後 3 時半 (だから実は彼らが基板上で動かす直前の話) に画像だけは出るようになったんです。おもに、コンパイル処理の途中で得られる中間言語を、C# 風にフォーマットしなおして、それを実行しただけなんですけどね・・・。結局、今日の第 2 回目の進捗報告会では早々と 2 班が画像を出すという例年にない爆速っぷりだったのでした。

あぁ、早く僕らも基板上で動く日が来るといいなぁ・・・ (現時点ではひとえに僕の働きにかかってるんですが)

0 件のコメント:

コメントを投稿