2011年8月12日金曜日

にっきちゃんシェーダ(2)



 バンプマッピング。
D3DXComputeTangentFrameEx云々のあたりは
SDKSampleのParallaxOcclusionMappingがわかりやすかった。ほぼ丸写しで動くし。
あれこれいじってたら動かなくなった。
 

 影つけるシェーダ。いまひとつ飲み込めてない。
バンプマッピングと影を同時につけようとおもったら、そのようにシェーダを書くのかな? 
現実の運用方法がわからん。
 

 ビルボード。青いパーティクルがそれ。
逆行列うんぬん。だいぶ逆行列も見慣れてきた。
 

 ブラー、というかぼかしシェーダ。
device->SetSamplerState( 0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR );
device->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR );
で滑らかにしないとがくがくになる点と、それから
device->Present( NULL, NULL, NULL, NULL );
のあたりで
device->SetTexture( 0, NULL );
を入れないとなぜか2フレーム目からレンダリングできなくなり行き詰った。
 小さいテクスチャに描いて拡大するほうが楽そうだけど、
シェーダのほうがきれいなんだろうか。試せばわかるか。

 似ても似つかないな。

 ついでにアンチェリ。
RenderTargetに画面より大きいテクスチャを指定して縮小して画面に反映する。
Zバッファのほうもテクスチャと同じ大きさにしないと描画範囲が正しくなくなるのに引っかかったぐらい。
 
 これからHDRを試してみる予定。

0 件のコメント: