スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SSAO悪あがき

昨日の続きで何とかしてsoftimageのビューポート内でもう少しリッチに見せられないか、接地感をなんとかできないか、
というのがどうしても諦めきれず、いろいろと試行錯誤。

●SSAO
その一つに、softimageのハイクオリティービューポートの機能を応用できないか、という方向があったんだけど、
どうもハイクオリティービューポートではcgfxシェーダーを適用したマテリアルではcgfxシェーダーが優先されてしまい、
そのマテリアルにはシャドウマップもSSAOも無効になってしまう様子。
(MSAAとかはちゃんとかかってくれるから非常に使えるオプションではあるんだけど!)
これは前から分かってたことではあるんだけど、もし仮に合成できたらどんな見た目になるかな、ってなことで
フォトショで試しに合成。

↓元の画像
1401012c_SSAO.jpg
↓白いconstantマテリアルに置き換えてハイクオリティービューポートでSSAOを適用>その後フォトショでややぼかし
1401012b_SSAO.jpg
↓上記二つを乗算した結果
1401012a_SSAO.jpg
あ~、良い。見やすい。SSAOやっぱり良いなぁ。接地感が段違い。まさにこれが欲しい。

この合成をなんとかリアルタイムでできないか。
だが今のところ有望そうな手段は思いつかず。
問題点としては
・ハイクオリティービューポートでcgfxとSSAOを両立できない
・SSAOの結果をcgfx上から取得できない。(これができればかなりいいのだが!!)
・そもそもSIのSSAOはそのままだと汚くて上記のようにガウスぽかしを後処理でかけないと見れたものじゃない。
というところでやはり実現はむずかしそう。逆に言うと上記の問題が解決できればまだやりようが出てくる。
もうちょっと調べてみるか…。

●ステンシルシャドウバッファ
ずっとシェーダーの研究を続けていたおかげで昔よりはステンシルシャドウについての理解はちょっと深まったので、
softimageのcgfxシェーダーでもなんとか再現できるんじゃないのか?と思っていろいろ試した…
んだけど結論から言うと今のところ成果ゼロ。
改めていろいろ調べたのでstencil bufferについての理解はちょっと深まったはずなんだけど、
SIのRTビューポート内にどうしても結果を反映できない。まさにうんともすんとも言わない。
そもそもSIのRTビューポートはstencil bufferへのアクセスを許可してないっぽい?
アクセスできるならどこかで誰かがすでにやっていそうな気もするし、そういう話を聞かないということはやはりできないということか?
とはいえなにぶんstencil buffer関連はまじめに触るのは初めてなのでこちらのコードが間違っている可能性も高い。
これももう少し調べてみるか。


落ち影もSSAOもunity上では問題なく表現できるのは分かっているんだけど、可能な限りsoftimage上で
完成品に近い形でプレビューしながら作成したい、というのがあるんだよね。
できれば一つのツール上でアート系の作業を完結させたいというか。
贅沢な悩みではあるんだろうけど、個人的にはそこが大事なのです。
スポンサーサイト

コメントの投稿

非公開コメント

No title

お久しぶりです~

OpenGLの知識と少しのC++言語の知識がお有りでしたら
SDK内のSampleDisplayCallbackを少しいじれば
CGFX+SSAOは出来ると思います
もっと簡易的ですが、同じような方法で作るBloomの方は出来ました

シャドウマップに関しては、本来の方法よりも
まわりくどい方法になりますが
これもまたSampleDisplayCallbackをいじって
VF5のシャドウマップの間隔で
白背景+白マテリアルでシャドウマップを描画し
テクスチャに保存して、現在のシーンに乗算するってな形で出来ると思います
lurgee.xii.jp/cgi-bin/sfs6_diary/sfs6_diary.cgi?action=article&year=2010&month=03&day=17&mynum=157

自分の場合は、ライトの位置を正確に取れなかったのと
画角が上手く合わなかったので、断念しました・・・

No title

LAGさんどうも、お久しぶりです。

おお、良い情報を!ありがとうございます。
そういえば昔LAGさんが取り掛かっていたのを見てて「うらやましい!」と思っていたのを忘れてました!w

>>lurgee.xii.jp/cgi-bin/sfs6_diary/sfs6_diary.cgi?action=article&year=2010&month=03&day=17&mynum=157
こちらのページのセルフシャドウ、綺麗に落ちていますね!なにやら希望がつながりそうな気がしてきました!

しかしOpenGLにC++とSDKですか~。
やったらできそうな気もするのですが、正直どこから始めていいのかが検討もつきません。
ビルドってなんだろう、というようなレベルです。
unityやらシェーダーやらでcgfxとC#はちょっとわかるんですが、どちらも専用の編集環境があるところから
始めたので正直この辺はさっぱりです。

…とも言ってられないので、軽く調べたところ、とりあえずvisual studioをインストールするところから始めれば良さそうですね。
無料の体験版があるようなのでひとまず落としてみます。

情報感謝です!
プロフィール

JNY

Author:JNY
某ゲーム会社勤務
趣味と修行をかねて個人製作中
Softimage & Cgfx & Unity

最新記事
最新コメント
月別アーカイブ
カテゴリ
カウンター
twitter

Twitter Updates

    follow me on Twitter
    リンク
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。