デモに使いたかった機能をあらかた実装しました.
大雑把にはDefferedシェーディングしてから,DOF(被写界深度)処理をかけるという流れになっています.DOFにはバイラテラルフィルタを使っているので,ピントの合っている場所と合っていない場所の色は混じらないようになっています.
後はライティングをもっと調整するのと,更に高速化を図ろうかと思っています.
引き続き,Mandelboxデモの実装をやっています.
とりあえず,C# + SharpDXで書きなおしてみました.
録画の関係でかなりフレームレートが落ちていますが,実際は割りとヌルヌル動きます.
SharpDXは初めて使ったのですが,思ったよりも苦戦させられました.
Managed DXという名前からして,XNAのような良い感じにラップされたものをイメージしていたのですが,実際には生のDirectXよりはいくらかマシ,という程度でした.
そもそもC#で3Dをやるのが間違っているみたいですね,C++ と OpenGLで作りたい.
Mandelboxのほうはまだパラメータ調整のコツが全然つかめていない状態です.
デモまでに良く見えるパラメータを探す必要があります.
レンダリングの品質も良くないので,改良しないと.