RT06 papers and presentations

RT06(リアルタイムレイトレ学会) の paper と presentation のスライドのいくつかが公開されています。 http://www.sci.utah.edu/~wald/RT06/papers/papers_presentations.html Pixar ‘Cars’ で使われたレイトレ手法と、MLRTA のひとの Omnidirectional ~ が興味深いです。 Ray tracing for the movie ‘Cars’ ‘Cars’ で使われたレイトレについての解説です。基本は講演者である Per. H. Christensen (昔は彼が歩いた後にはフォトンマップの花が咲くと言われていた) が EG 2003 にて発表したレイ微分と多重解像度メッシュを用いたレイトレ手法 Ray Differentials and Multiresolution Geometry Caching for Distribution Ray Tracing in Complex Scenes を ‘Cars’ のレンダリングに導入しましたよ、というお話。 レンダリングは prman にて、スキャンラインとこのレイトレのハイブリッド。 レイ微分を計算するためには、レイを三本同時にトレースするのですが、いずれかがジオメトリの 境界をまたいでしまう場合(もしくは交点が見つからない場合)の処理をどうしたらいいものかなー、 と常々頭を悩ませています。オリジナルの EG ’03 の論文でもあまりそこらへんは突っ込まれて 解説されていません。実務で使う場合には、そこらへんの扱いが非常に重要になると思われますので、Continue reading “RT06 papers and presentations”

AMD simulation utilities

http://developer.amd.com/calinux.aspx AMD simulation utilities は、 AMD Codeanalyst http://lucille.atso-net.jp/blog/?p=188 から、パイプラインシミュレーションのみを抜き出したものです。linux ではコマンドラインで動作させることができます。細かくプログラムを変化させて調べたいときは linux 版、可視化して全体を確かめたい場合は win 版(Code Analyst)を使うとよいかもしれません。 Intel も AMD のようにこのようなパイプラインシミュレーションツールを出してくれれば、 x86 コードの Core 2 での実行解析をしてみたいとことですが、相変わらずそのような気配はないようです。 simulation utilities は、linux では以下のようにして使います。 $ tracegen –function ray_box_intersect –launch ./a.out $ simulate –preload // warm up cache $ simreport まず、tracegen にて、測定したいコード区間のインストラクションを抜き出します。測定区間の指定はいろいろできるようですが、関数単位が一番わかりやすいでしょう。–function でどの関数のコード部分を測定するか指定できます(インライン化で関数が”無くなっていないか”注意しておきましょう。objdump などであらかじめ測定したい関数が存在するかどうかチェックするとよいです)。–launch で測定対象のアプリ名を指定します。 tracegen を実行すると、インストラクションのトレースデータがファイルに保存されます。これに実際にシミュレーションをかけてインストラクション実行解析を行うのが simulate です。 ここで、キャッシュの warm upContinue reading “AMD simulation utilities”

Fast and Efficient Compression of Floating-Point Data

Peter Lindstrom and Martin Isenburg. Fast and Efficient Compression of Floating-Point Data IEEE Visualization 2006. http://www-static.cc.gatech.edu/~lindstro/ メッシュ簡略化野郎 Peter Lindstrom とメッシュ圧縮野郎 Martin Isenberg による、 fp データのリアルタイムロスレス圧縮に関する論文です。 range coder をベースとしたシンプルな圧縮器(coder)を提案し、 高速、かつ既存のロスレス fp 圧縮とほぼ同じな圧縮率を達成しています。 圧縮率は、平均して 1/3 ほど(32bit float)になるとのこと。 64bit double の場合はそれよりも圧縮率は落ちて、1/1.5 から 1/2 ほどのようです。  すでに同著者らは、メッシュデータに対する fp ロスレス圧縮 http://lucille.sourceforge.net/blog/archives/000383.html を提案していますが、今回のは特に圧縮の対象となるデータに制限はなく、 ボクセルデータでも点データでもなんでも OK というのが特徴となります。 レンダリングデータの多くは浮動小数点ですから、並列レンダリング時の 各ノードへのレンダリングデータの分配のときなどに使えますね。 実装も簡単なようですから、応用例は多くありそうです。

SBR 2006 観覧会

ゴゴゴ….   ゴゴ….   ゴゴゴゴゴゴ…..   ゴ…..    ゴゴ….   ゴ….   ゴゴゴゴ….   ゴ….   ゴ…. 今年も、SIGGRAPH 論文の実装を披露する、SBR 2006 観覧会を開かせていただきます。 日時: 9/30(土曜) 場所: 東京・恵比寿 詳細は SBR 2006 のページで随時お知らせします。 http://lucille.atso-net.jp/sbr2006/