« デジタル伝送? | メイン | 4k Procedual Gfx Monitor »

2009年01月26日

GPUAO(GLSL)

追記更新 01/28
追記更新 01/27
追記更新 03/28

こないだからやってる4k procedual gfx用のツールだけど、だいたいできた。
サンプルとテストついでにsyoyoさんのとこでやってるアンビエントオクルージョンを移植

AOのサンプル数は64サンプルですが、一瞬すぎて速度が計測できません ;)
サンプル数を増やしてたりしてたらきちんと計測できてないことが判明。
glClear()とSwapBuffers()の間で計測してたのですが、シェーダはSwapBuffers()完了の
タイミングでは計算終了はしてないということなのか・・・?
10回まわして平均値をとるようにしたら23msでした。1024x768くらいなら10msくらいのようです。

GLSLにはrandom関数がないので、頂点情報と数学関数でごまかしてます
まぁまじめにやるならnoiseテクスチャですかね。

ツールでは4KB用のC++のソースが出力できますが、
コメントやタブ、改行、多重スペースの除去なんかもやります。
ツールから出力されたものをビルドしたものをおいておきます。
あんまり最適化してませんが、crinklerしたら1.7KBでした。(こんなもんか
バイナリファイルをダウンロード

上のファイルででウイルス検知ソフトに引っかかる方はこちら。(非圧縮版)
バイナリファイルをダウンロード


現在のバージョンではRadeonではエラーのようですね。近日中に直します。
たぶんradeon対応しました。GLSLに対応するGeforce/Radeonなら動くはず。
解像度とサンプル数のバリエーション増やしました。

ツールはもう少しサンプルをつくったら一緒に公開します。もう少しまてぃ〜
来週くらいか?

公開しました。(ソース付)

投稿者 kioku : 2009年01月26日 01:57