little things of mine

from los angeles, california

Month: November, 2005

3D noise bump – 2

昨日の続きです. 昨日書きかけたアイディアというのは,実はアイディアと呼べるような物でも何でも無いのですが,一応書いておきます. 件の要求は,UVやsurface derivertivesが存在しないオブジェクトに対して3D noiseを使ったbumpを適応したいという事でした. で,よくよく考えてみると,gradientを生成する関数は3D noiseな訳だから,三次元空間でのgradientをそのままnormalの変位にしてしまえば良いわけです. つまり疑似コードで書くと: v0 = noise(P); v1 = noise(P.x + step); v2 = noise(P.y + step); v3 = noise(P.z + step); Nd.x = v1 – v0; Nd.y = v2 – v0; Nd.z = v3 – v0; Nbump = N + Nd; P: shading point N: original shading normal となります.超簡単.テストしてみましたがサックリ動きました.まあ,当り前ですよね.当り前過ぎてその場で思い付かなかった自分が情けなくなる程です. ともあれ,一件落着.

3D noise bump

ちょっと面倒な問題が起こりました. isosurfaceからポリゴン化されたオブジェクトがあるのですが,これに3D noiseを使ったbumpを使いたいと言うのです. レイトレでbumpされたnormalを求めるには,最低限shading pointとその近傍2点の合計3点をサンプルし,何かしらのgradientを計算してnormalを変位させてやれば良い訳ですが,近傍点をどこにするかを決めるためと変位させるための基準ベクトルに通常はUVやsurface derivertives(dP/du, dP/dv)が用いられます. しかし,現時点ではこのオブジェクトの頂点にはUVが存在しないし,surface derivertivesも持っていません.しかもフレーム毎にトポロジーが全然違う. 試しに各頂点のworld spaceでの(x, z)座標をそれぞれ(u, v)に充ててみたりしましたが,やっぱりY軸にプロジェクトされた縞が見えてしまい,上手く行きませんでした. フレーム毎にトポロジーが変わらないならどうにかなりそうなんだけどなあ… やっぱりポリゴン化する前の状態から情報持ってこないとダメっぽい? …と,ここまで書いて一つアイディアが浮かんだ.明日試してみよう.

高校生市長

アメリカはミシガン州の話です. Sankei Web 産経夕刊 市長は高校生! 米・ヒルズデール市 51歳現職破り当選(11/10 15:00) USATODAY.com – ‘Go-getter,’ 18, ousts mayor in Michigan これ,少し前の話題なのですが,今日まで知りませんでした.比較的前例の無い事に柔軟なアメリカらしい出来事ですね. 政治に絡む仕事と言うのは,大なり小なり汚い部分があると思うのですが,変に染まらないで務められたら良いと思います.

anchovy

アンチョビー.英語だと”anchovy”. この不思議な響きの食材,ずっと前から気にはなっていたんですがついに試してみた.アメリカだと普通のスーパーに缶詰一つ$1.50くらいで売ってます.いつも作るトマトソースパスタに投入. コレ素晴らしい. 要はただの魚の塩漬けなんですが,味に凄く深みが出ます.海の旨み成分が凝縮されている感じ.驚いた.自炊される方は試して見る価値ありますよ! ちなみにアンチョビーとはカタクチイワシという魚の事だそうです.

Code::Block

こんなの見つけました. Code::Blocks Studio – Open Source, Cross-platform Free C++ IDE WindowsとLinuxで動くIDEです.Dev-C++よりも少し良い感じ.wxWidgetsを使って書かれているそうです. 以前ならWindows用のこういうツールはそこそこ需要があったと思いますが,Visual C++ 2005 Express Editionが期間限定とはいえ無料になってしまいましたからねえ… まあでも,Visual StudioやEclipseはヘビー級アプリケーションなので,軽くてシンプルなのが好きな人には良いと思います. Code::Blockがちょっとイイ点.GNU Profilerがインテグレートされていて,GUIからプロファイルが取れます.結果の表示はグラフィカルじゃないけど,気楽に使えてなかなか良いです. ところで,2005 Expressは以前仕事で愛用していたDevPartnerのフリー版が使えないみたい. そのうち対応してくれるかな?