描画に関係しないシステム的な部分。ロードのインターフェイス。(空デカール)あと、実行ファイル及び、プロジェクトファイルが入っています。■方法ぼかしフィルターはバイリニアサンプリングを応用します。ここでいうバイリニアサンプリングとは、テクスチャーからの色を引っ張るときの方法です。近くにある4つのテクセルの色を、テクスチャー座標とテクセルの中心との距離に応じて混ぜ合わせる方法です。実際の方法は、4つのテクセルのうち、2つの色に関してテクスチャー座標に応じて線形補間します。線形保管した色及び保管した座標は2つできるので、さらにその2つの点に関して線形補間して最終的な色を決めます。リニア(線形)な補間を2回行うので、バイリニアとよばれます。(サポートしていない場合は、テクスチャー座標の乗っているテクセルの色だけを引っ張るポイントサンプリングが使われます。(さらに未来にはより高度なサンプリングしかサポートしない場合がありますが、それはまたのお話で...))。4つのテクセルの中心座標のちょうど中間にテクスチャー座標を配置すると、それぞれの色を等しくサンプリングします。それぞれの色を1/4ずつ混ぜ合わせた色が取り出せます。2つのテクセルの間を開けた座標を四角形の形に4つサンプリングして、平均を取ると4x4のテクセルの平均した色が求められます。遠くの色を引っ張ってくるということは、色がにじんだということになります。■シェーダープログラムさて、どのようにして、以上の手続きを実現するか、ピクセルシェーダーのプログラムを見てみましょう。合成するピクセルシェーダーを見ましょう。テクスチャーに1度レンダリングします。レンダリングしたテクスチャーをテクスチャーの0から3まで全てに仕込みます。頂点シェーダーでテクスチャー座標をずらしておきます。この後が、ピクセルシェーダーです。0.5を掛けながら、色を加算して、最後に線形補間命令lrpで、線形補間して4つのテクセルのバイリニアサンプリングを行います。サンプリングされた色は、tex命令で色をもってくる時点でバイリニアサンプリングされた色が引っ張られるので、この結果は16このテクセルを合成した色になります。ものよりも1命令多いですが、マッハバンドが小さくなっています。0.5*0.5*(t0+t2+t1+t3)=(t0+t2+t1+t3)/4実際にテクスチャー座標をずらす頂点シェーダーでは、定数を足して平行移動を実現します。その2倍の値を使って、2つのピクセルの間を開けたテクスチャー座標のずれを実現します。ボケる量は少なくなりますが、うっすらとぼやけた画像も得られます。あと、面白いのはエッジ抽出フィルターとかメディアンフィルターですが、そこらへんはちょっとGeForce3じゃ難しくなってきそうですね。RADEONを買うしか・・・もどるimagire@gmail.com。