gcc 4.0 で lucille のコンパイル不都合

Tiger では開発ツールをインストールすると標準で gcc 4.0 のコンパイラがインストールされます。 で、gcc 4.0 で lucille をコンパイルしてみたのですが、最適化が有効になっていると、 コンパイルは通るのですが、結果の画像が真っ白、という結果となりました。 colinux に gcc 4.0 をコンパイルしてインストールして、同じように lucille をコンパイルしても 同じ結果となりました。 いくつか手探りでまずそうなコードをあたってみたところ、ひとつ原因がみつかりました。 flipcode に載っていた、逆平方根を求めるコードです。   float fastrsqrt(float number) { long i; float x2, y; const float threehalfs = 1.5f; x2 = (number) * 0.5f; y = (number); i = *(long *)&y; i = 0x5f3759df – (i <<Continue reading “gcc 4.0 で lucille のコンパイル不都合”

GLSL supported on Tiger

Tiger にアップグレードしました。 残念ながら、Mobility Radeon 9600 用のハードウェアドライバでは GLSL はサポートされていなかったものの、 ソフトウェアドライバには GL_ARB_shading_language_100 の文字がッ! (GeForce 系や、より上位の Radeon でもまだ GLSL はサポートされていないのかな?) それに伴い、 OpenGL Shader Builder にも、 アセンブラによる ARB vertex/fragmen program に加えて、 利用するシェーダの選択肢に OpenGL Shading Language が追加されています。 もちろん GLSL を使った場合、プレビューはソフトウェアドライバでないと 表示されませんが、インタラクティブに結果が出るので、 これは GLSL のシェーダを書く上で便利なソフトウェア となるでしょう。 それにしても、GLSL の派生言語を利用した CoreImage は Mobility Radeon 9600 で ハードウェアアクセラレートされて動くのに、OpenGL ドライバでは GLSL はまだ、 というのは、GLSL よりも CoreImageContinue reading “GLSL supported on Tiger”

Lpics: a Hybrid Hardware-Accelerated Relighting Engine for Computer Cinematography

Pixar の前編 photon map 使用らしいと噂されている 新作映画 Cars で使われたであろうリライティングの手法に関する論文が  SIGGRAPH 2005 に採択されています。 Lpics: a Hybrid Hardware-Accelerated Relighting Engine for Computer CinematographyF. Pellacini, K. Vidimce, A. Lefohn, A. Mohr, M. Leone, J. Warren SIGGRAPH 2005 http://www.graphics.cornell.edu/~fabio/publications.html Pellacini 氏は、さらに自動シェーダ簡略化の論文も SIGGRAPH 2005 に通していますね。すごいなぁ。 (ていうか SIGGRAPH 2002 では三本の論文に名を連ねていたのか…) 論文はまだ公開されていませんが、web の画像をみると 2000 秒かかる処理が 0.1 秒でできるような手法らしい。 (2 万倍の高速化…) プロダクションレベルのリライティング、リレンダリングの手法については、 OpenGL を使ったリライティングエンジンの提案が昔にありました。 AContinue reading “Lpics: a Hybrid Hardware-Accelerated Relighting Engine for Computer Cinematography”

SIGGRAPH 2005 論文全リスト?

Tim Rowley 先生のページで、本家よりも早く SIGGRAPH 2005 採択論文のリストが公開されたようです。 http://www.cs.brown.edu/~tor/sig2005.html 数えてみましたら、100 編近くありました(Proceedings ではなく、 Transaction on Graphics のみ採録も含むのかな?)。 今年はレンダリング関連の論文が多く見られます。豊作ですね。 しかもタイトルからだけですが、おもしろそうなものがいっぱいです。 こんかい新規に追加されたもので、いくつか例を挙げると、 Wavelet Importance Sampling: Efficiently Evaluating Products of Complex FunctionsPrecomputed Local Radiance Transfer for Real-Time Lighting Design Compressing and Companding High Dynamic Range Images With Multiscale Wavelet Architectures Multi-Level Ray Tracing Algorithm Local, Deformable Precomputed Radiance Transfer (Peter PikeContinue reading “SIGGRAPH 2005 論文全リスト?”

チョーシュゴーな空間充填曲線?

うーむ、いま考えているものがチョーシュゴーな空間充填曲線に成り得るかもしれません…. それゆえ、ヒルベルト曲線順ラスタライザよりもおもしろそうなものができるやも。 がんばって数学的にもきちんと証明をつけて、論文レベルにまで昇華させてみたいですね。

A Relational Debugging Engine for the Graphics Pipeline

A Relational Debugging Engine for the Graphics Pipelineto appear, SIGGRAPH 2005 http://duca.acm.jhu.edu/research.php 今年の SIGGRAPH 2005 採択論文。グラフィックスパイプライン(つまりは CG の描画、ひいては GPU)、 に対するデバッグ手法の提案です。なかなかあるようであまり提案のなかった分野です。 デバッグ手法には、クエリベース(SQL)のデータベース的な方法論を用いています。  たとえば論文での例を挙げると、 SELECT normal:37 FROM SFrags WHERE dot(normal:37, (0,0,1)) < 0 という操作で、フラグメントシェーダの 37 行目において、 法線とベクトル (0, 0, 1) との内積がゼロより小さいものを選択、ということができます。 lucille を開発するときも、”良い” デバッグのしかたにはいつも悩まされました。 CPU のデバッグとは違い、レンダリング処理は必ずしもシーケンシャルにコードの 実行が行われることはありません。 たとえばあるピクセルだけでさらなるレイトレの処理が トリガーされたり、ある領域のピクセルで、ある法線方向だけ向いてる部分の情報を 調べたいなどという要求は常にあります。 本質的に GPU のデバッグは並列プログラムのデバッグということになるかと思います。 CPU における並列プログラムのデバッグ方法はそれなりに確立しつつあるようですが、 グラフィックスパイプラインのデバッグというのは、よくて頂点シェーダとフラグメントシェーダの パフォーマンスや帯域程度しか調べられなかったのではないでしょうか。Continue reading “A Relational Debugging Engine for the Graphics Pipeline”

Mac OS X Tiger

Mac OS X Tiger が発表され、 4 月 29 日に発売となります。 http://www.apple.com/jp/ GLSL on Mac OS X ? ついに Mac OS X 上での OpenGL 2.0 + GLSL のサポートかッ!? すくなくとも Core Image では GLSL の派生言語が用いられますので、 GLSL が実装されている可能性が十分に考えられます。 これで安心して GLSL まで対応した OpenGL プログラムを クロスプラットフォームで作成していけますね。 GPU を作る側になってわかったのですが、ホント DirectX の設計思想と仕様はアホです。 (Fahrenheit 以降 GL の設計思想を取り入れ、Shader Model 3.0 の機能を取り入れた今でも) まあこういうと、ひいては DirectX の思想と設計に寄与した Jim Blinn 大先生の批判となって しまうのかもしれないのですが、実際そう言わざるを得ないかもしれません…Continue reading “Mac OS X Tiger”

Graphics Interface 2005 papers

SIGGRAPH 2005 の論文が公開されはじめていますが、 Graphics Interface 2005 でもおもしろそうな論文が採択されています。 abstract までしか読んでいませんが、少し紹介したいと思います。 A Computational Approach to Simulate Subsurface Light Diffusion in Arbitrarily Shaped Objects Tom Haber, Tom Mertens, Philippe Bekaert, Frank Van Reeth, to appear in Proceedings of Graphics Interface 2005 http://research.edm.luc.ac.be/~tmertens/ 不均質な媒体(まだらに透過度が変わるなど)にも対応した、 サブサーフェススキャタリングのレンダリング手法です。 計算はオクツリーのような階層グリッドをベースとしているようです。 既存の手法にくらべても高速らしい。ただしオフライン向けです。 Reordering for Cache Conscious Photon Mapping. Joshua Steinhurst, Greg Coombe, Anselmo Lastra. Continue reading “Graphics Interface 2005 papers”

SBR 2005 開催

そろそろ SIGGRAPH 2005 採択論文が出始めてきましたので、 SBR 2005(SIGGRAPH ronBun implementation Race 2005, SIGGRAPH 論文実装レース)、 開催(正確にはセカンドステージ再開)です! 超極秘ルートからの情報によると、 今年はなんと早くも、去年の SBR 2004 出走者の中から SIGGRAPH 2005 に論文が採択された人が出た模様(現在写真判定中)です。 http://lucille.atso-net.jp/sbr2005   とりあえずこちらにも現時点での採択論文(conditioally accepted 含む)のリストを載せます。 現時点では A Practical Analytic Single Scattering Model for Real Time Rendering に注目しています。はやく PDF 公開されないかなー。An Approximate Image-Space Approach for Interactive Refraction はある意味もっとも SIGGRAPH っぽいと言えるかもしれません。   また日本人では、向井先生の論文が採択されています。空間統計学を応用したモーション補間法とのことです。 Sung-Eui Yoon, Peter Lindstrom,Continue reading “SBR 2005 開催”