球面調和

以前からライブラリにぶち込もうって思ってた

SH関数によるライティングを実装して

ライブラリにぶち込んでみましたよ

 

588.jpg

 

KILLZONEの様に

キューブマップに戻すのではなく

BIO5の様に

計算した9つの係数からライティングをさせてますよぉぅ~

 

ついでにスカイスフィアの関数も入れました

 

解りやすい絵で表示すると

589.jpg

こんな感じ

sIBLもおんなじ感じでただ単に係数が多いだけだと思うので

結構なクオリティの絵が出せるんじゃないかと思ってますよぉぅ

 

ちなみに、

SH関数使うと何がいいの?ってのは

Impressさんの記事をそのままパクると

32×32の6面キューブマップを使うと

非圧縮で32kbの所

SH関数を使うことによって64bまで使用量を減らすことが出来るんですよ~

(ライブラリは27個だからもう少し多いかな?)

 

4万頂点の場合はキューブマップが938MBに対して

SH関数の場合は2.4MBで済むらしいです

1/400ですね

 

しかもその係数と、スケーリング係数を保持しておけば

大体、元のキューブマップが再現できるってなグフフ処理です

見栄えも良くなるしね!

 

KILLZONEはその係数を元に

8テクセルのキューブマップを作り

それでライティングさせてるらしいです

 

まだキューブマップを再現まで作ってないので

そこらへん作ったら

久方ぶりにライブラリを更新しますよぉぅ

« 前の記事: を読む

次の記事: を読む »

コメント

※名前の入力は必須です

コメントを残す

---

以下のHTMLタグが使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

※管理人にのみコメントを残す場合は、こちらのフォームよりお願いします