64bitの意義

レンダラー使う人間にとってこれは大きい。大きすぎる。現状のレンダラーが32bit版でしかないために、恩恵のほとんどを享受することはできないだろうけど。

64bitプロセッサは、レンダラーの精度とメモリの上限を取り払ってくれるソリューションなんだ。一つ二つ例を挙げてみよう。

まず、Zバッファの精度を例に挙げてみる。

64bit Zバッファ

多くのソフトウェアがRGBAの並びとしてZバッファを持っているが、こいつの精度は致命的に足りない。Shadeを持っている人は実験してみるといいだろう。直径が10kmの円を描き、中心部から1cm上に直径1cmの球体を描く。この球体にMarimoを設定しファーを生やす。カメラを球体から1m離した状態でレンダリングしてみる。

円がファーの描画部分と重なっていないときはレンダリングされた画像に、正しくファーが描かれるが、円とファーが重なるように視点をずらすと、視点の位置によってファーが描かれないことがある。これが、32bitの壁なんだ。

64bitになれば変わる。この例で精度を計算すると、10km先と1m先を同時に持つために作られたZバッファのなかで、0.5cmという円と球の距離はこのデータの中で5/10,000,000程度しかない。一般にdoubleは10進数で16桁程度の精度を持つため、充分にこの差を表現できるが32bitでは7桁程度であり、5mmと言う距離は誤差でしかないため手前に来ていると判断されるかどうかは、運次第だ。

もちろん、32bitプロセッサでもdouble floatは扱うことができるけど、処理が遅いため、Zバッファを64bitで扱えるレンダラはそれほど多くない。ネイティブの64bitシステムなら通常のfloatと同じような速度で64bitの計算を行うことができるから、Zバッファを使った応用的な手法も発展していくだろう。例えば、シーンを数カ所からパノラミックにレンダリングしたイメージとZ、法線マップを合成してリアルタイムでカメラからの絵を計算するイメージベースドレンダリングとか。

グローバルイルミネーションの喰うメモリ

次に、グローバルイルミネーションが喰らう大量のデータを保存するメモリの問題がある。

架空のソフトウェアの*1フォトンマップでは、フォトンがシーン内のジオメトリに衝突した位置(XYZ)、ジオメトリへの入射角度(計算を楽にするためにクォタニオンで4つ。これはそれほど精度が要らないデータだが)、RGBカラー、光源のID、kdツリー内のインデックスと、通過した透明なジオメトリの形状IDを持つとしよう。

これでざっと52byteだ。軽いね、これがフォトンマップのいいところだ。これだけのデータを積み重ねるだけでグローバルイルミネーションができるって寸法だが、ここに穴がある。積み重ねる回数だ。

経験上だが、8畳にソファセットが置いてあり、電球一つだけがあるシーンで、12cmの精度で輝度を計算しようとすると、おおむね40,000個のPhotonが必要になる。これでざっと2GB。じゃぁ、ソファセットにコーヒーカップが置いてあってスプーンがあるよとなると、計算精度は甘い雰囲気で3cmぐらいか。それを計算しようとすると、2,560,000個ぐらいか。データ量は?2.4TBだ。スワップに入っちゃう?いや、OSがサポートするスワップには入らない。32bitプロセッサのメモリ上限は4GBしかない。メモリ内のあるアドレスに、計算したフォトンのデータベースを作っていって2GBフルに溜まったところでディスクに保存、を繰り返せばいいんだけど。そもそも、32bitのファイルシステムでは2GB以上のファイルは作れないんだ。

64bitプロセッサのメモリ上限は16EB(180億GB)ファイルシステムでは16TBのファイルが扱えるからOSが64bitに対応してれば実装メモリの上限を超えたら自動的にスワップされる。開発が楽になる。速度は?というとデータの書き換えの時間が短くなるからこれも64bitの方が早くなる。

64bit萌え

いくらでも例は挙げられるが、そんなシーンを作る方が悪い?「いまは」その通りだ。もちろん、商用のプログラムでは上記の問題が発生しにくいようにいろんな手を使っている。バグの温床になるけどな。

だけど、状況を変えるためのプロセッサとOSは揃った。Mac OS Xの64bitにきちんと対応したレンダラーであれば、精度の面はおいといても、メモリの取り扱いぐらいは64bit化されるでしょう。というかされなかったらヘタレだ。指を指して笑ってやればいい。64bit化はなにもMac OS Xだけの話じゃないからね。IntelもAMDも64bitを指向している。最も早くプロシュマー帯に普及するであろうプラットホームがMac OS Xになる可能性が大きく、過去の資産を棺桶に突っ込んで先へ進むCEOが牽引している、と言うだけの話だ。

この2日間ほど、Macユーザーで良かったと感じたことはない*2

*1:LUXORじゃないよ、一般的な話

*2:同時に一般的な部分からヒッキーになっていく予感もヒシヒシ(w

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

%d人のブロガーが「いいね」をつけました。