タグ

ブックマーク / kataho.hatenadiary.org (2)

  • 超高速ブラー - 作業記録

    サンプラーのリニアフィルタを何度も使うことでピクセルシェーダにかかる負担を最小限に抑え、なおかつクォリティの高いブラーを実現した。 1. 元画像 (270x500) 2. 20%スケールダウンしたサイズのテクスチャへ (54x100) 3. 2を98%スケールダウンしたサイズのテクスチャへ (52x98) 上下左右と中心の5ピクセルの平均値をとる あらかじめずらしたuv座標を5つ持たせた頂点を渡すので ピクセルシェーダはオフセットを加算する計算をする必要はない 4. 3に対して3と同一パスを用いてもう一度98%縮小 (50x96) 5. 4を元のサイズまで拡大する 6. フォトショップで元画像にガウスブラーをかけたもの 7. 5を使ってかけた京アニフィルタ ぼかす半径は最初のスケールダウンの大きさで調整できる。この手法を用いれば真面目にやると来ならサンプリングする点の多くなる大きくぼやけ

    超高速ブラー - 作業記録
    xmx3
    xmx3 2013/07/07
  • DirectX9/シェーダーモデル2.0で実装するシェーディングと共存する浮動少数点テクスチャを用いないシャドウバッファ(shadow buffer)法によるソフトシャドウ・セルフシャドウ - 作業記録

    シャドウバッファでググると、この時代になってもまだシェーダーモデル1.1でカツカツだったころの一旦画面全体の影イメージをZの大小の2値で別個に作ってしまう方式の解説と、こんなんじゃシャドウバッファなんて使えないと思われてしまいそうな画面写真がのさばっているのは如何なものかと思ったので、ここにもうちょっとだけ無理のきく環境上ではシャドウバッファが如何にリーズナブルな手法かということを解説しておきたいと思う。 1.バッファの確保 DirectX9ではZバッファを直接参照はできないので、Z情報を色成分へ収めるためテクスチャを確保する。 ここでの解像度がかなり大きく最終的な影の品質に影響する。Zの値は1ピクセルごとにはっきりと決定するので低解像度では斜線上に生じたZの段差のジャギーをどうしようもないからだ。だが1024x1024くらいの大きさで作っても結構大丈夫。フォーマットはA8R8G8B8で良

    DirectX9/シェーダーモデル2.0で実装するシェーディングと共存する浮動少数点テクスチャを用いないシャドウバッファ(shadow buffer)法によるソフトシャドウ・セルフシャドウ - 作業記録
  • 1