2009/02/12

Ambient Occlusion with Python


前々からやってみたかった、syoyoさんのAO benchでのコードをPython用に移植させてみました。上の画像はその出力結果です。ちなみに、出力を楽にするためにPython Imaging Library(PIL)を利用しています。

なんで前々からやってみたかったかというと、3Dでのレンダリングアルゴリズムの学習がしたかったから。ray tracing法やらAmbient Occlusionなどの手法は頭の中では分かってましたが、実際にどうやって動かしているのかは全然分かんなかったですから…今回の移植を通して、レンダラの実際の動きが少しだけですが掴めたような気がします。

それで気になる速度はというと、

  • サブサンプリング数:2
  • AOのサンプル数:8
  • 画像の長さと高さ:256px

という標準的な設定でレンダリングしたところ、
$ python sample.py
time:463.692063 sec
という結果が出ました(AMD Athlon 64 x2 3800+)。

まぁPythonですから大体予想してた通りの結果となりましたが、それにしてもものっそい遅いです。C言語での2.6secという結果を比べてみると、環境が違いますからそのまま評価することはできないんですがだいたい180倍くらい時間かかってます。もう少しなんとかできなかったかなー…

2009/02/11

退院しました

12月18日にバイクを運転していたら車にはねられましてそのまま救急車で病院に直行、1月31日まで約1ヵ月半ちょいの入院生活を送っていました。病名(というのかどうか分かりませんが)は両足の骨折(そのうち左足は開放骨折)で、あと骨盤にヒビと脳にも多少の出血があるそうです。

それにしても1ヶ月半でこれだけの怪我をして退院できたのはある意味幸運でした。その理由っていうのは今考えてみると
  • 衝突時自分が上に飛んでいったこと(下にいくとタイヤに巻き込まれてもっと大変だった)
  • ヘルメットがフルフェイスだったこと(顔が削れるとか洒落にならない)
  • 加害者がひき逃げしないですぐに通報してくれたこと
こんな感じかなぁと思うのです。脳みそがやられなかったのが一番デカいですね。脳に障害が出てしまったらもう大学にいられなくなりますから…

これからしばらくは松葉杖生活で外に出られない状態が続くので、ブログの更新も積極的に行っていきます。(あと追試の勉強も平行してやんないと…)