« NVScene | メイン | nvscen demo kit »

2008年05月13日

また更新が滞っていた・・。orz

しばらく書かない周期に入ると、だめだね。
ネットで今までずっと書いていたblogが突然かかれないと
その後まったくかかれない現象がよくわかる。
2週に1回くらいは最低かかないとだめなきがする。いやもっとか?

まぁネタとか進捗がないとね・・・
GWとかあったけど、旧友とあったり親と会ったりしてとくになにもなし。

先週はsyoyoさん主催の第2回OoOにいってきた。(遅刻しましたごめんなさい。
imagireさんにお会いしてちょとテンションアップ。まぁ一応私がDirectXを
まともに使えるようになったのはimagireさんのDirectXの本のおかげですから・・。

近況:
前回の第1回OoO以降、CPUラスタライザを実装。しかし古いコードをひっぱりだして
あまり実行速度にはこだわらずに書いたためかコーネルボックスで1FPSくらいorz
普段メガデモでソフトウェアレンダリングを見てる私としてはありえないくらい遅い。
せっかくの機会なのでmathのライブラリから作り直すことにした。というか作った。
あとは卒論でつくったPetite Light Renderを放置しすぎるのもアレなので
こいつでレイトレの試験的に少し使えそうなテクスチャレンダラを作ろうと思う。
今回はメタセコでUVをつくけるのではなく、PetiteのほうでUVを生成する。
(メタセコのUV自動展開はたまに重なったり、オブジェクトごとでしかできなかったり
(本当はマテリアルごとでしたい。))のでいまいち使いにくい。
まとめるとこんなかんじ:

    mqo -> Petite -> UVつきmqo + 焼きこみtexture

とりあえず、最初はアンビエントオクルージョンてきなものを出したいとおもう。
レイトレのアクセラレーション構造はBVH(ばうんでぃんぐぼるーむひえらるきー)を
使おうと思う。ちまたじゃKDTreeとかを使ってる人もいるが、KDTreeのような空間分割の
手法は空間の境界にまたがるポリゴンが多いとデータ構造に多くの重複する情報を持つ必要が
あるので、込み入った複雑な形のモデルには向かない。もちろんBVHも形状が込みいってると
バウンディングボックスが重なるポリゴンがいくつもでてくるので不利だが、データ構造は
形状の複雑さには関係が無い。(完全な2分木の場合)
まぁしかしこのアクセラレーション構造は絶対は無いので、ある意味宗教。
とりあえず今はBVH教に入信しておくというわけです。

ではまた次回。Petite Light Render 2のベータくらい公開か!?

投稿者 kioku : 2008年05月13日 23:09