影とアルファ
Posted: 2014年5月26日(月) 18:44
お世話になっています。
DXライブラリを使用しています。
シェーダーの勉強をはじめようと、まずサンプルから入ったのですが、わからないことが二つあるので、質問させてください。
9.3Dアクション基本+深度値を利用した影表現基本 ( 要プログラマブルシェーダー2.0 )
http://homepage2.nifty.com/natupaji/DxL ... hadow.html
この影の部分はどんなふうに使えるだろうかと、透明度のあるテクスチャを利用すると、やはりアルファが抜けませんでした。
そこで調べていると
http://hpcgi2.nifty.com/natupaji/bbs/pa ... st&no=2882
このような質問をみつけ、さっそく試してみたのですが・・

このように、影の形こそアルファが反映されているものの、プレイヤーの影は木のテクスチャをはったもとの板の影で消されていました。
サンプルのDirLight_DepthShadow_Step2PSで、rgbにテクスチャアルファを掛け合わせればいいのかなど何度も試しましたがなかなか思ったような結果は得られず。
※現在は影のサンプルにURLでのアドバイスをそのまま反映しただけの状態です。
また、木の後ろに回り込む(木よりカメラ側にいく)と影が正しく表示されることから、深度値での比較で失敗しているのではないかとも考えました。
そこで、サンプルソースにそのままDrawExtendGraph(0,0,640,480,DepthBufferGraphHandle,TRUE);を
// 影用の深度記録画像の準備を行う
SetupDepthImage() ;
// 影用の深度記録画像を使った影を落とす処理も含めたモデルの描画
DrawModelWithDepthShadow() ;
の後の追加し深度画像を確認しようとしたところ、結果は真っ白のままでした。
そこでお聞きしたいのですが、プレイヤーの影を邪魔している原因はどこである可能性が高く、どのような方法で解決できるでしょうか。
また、おそらく私の方法が違うからだと思うのですが・・深度画像を見るにはなにか違った方法をとる必要があるのでしょうか。
確認がうまくできず少々不便です・・
宜しくお願いします
DXライブラリを使用しています。
シェーダーの勉強をはじめようと、まずサンプルから入ったのですが、わからないことが二つあるので、質問させてください。
9.3Dアクション基本+深度値を利用した影表現基本 ( 要プログラマブルシェーダー2.0 )
http://homepage2.nifty.com/natupaji/DxL ... hadow.html
この影の部分はどんなふうに使えるだろうかと、透明度のあるテクスチャを利用すると、やはりアルファが抜けませんでした。
そこで調べていると
http://hpcgi2.nifty.com/natupaji/bbs/pa ... st&no=2882
このような質問をみつけ、さっそく試してみたのですが・・
このように、影の形こそアルファが反映されているものの、プレイヤーの影は木のテクスチャをはったもとの板の影で消されていました。
サンプルのDirLight_DepthShadow_Step2PSで、rgbにテクスチャアルファを掛け合わせればいいのかなど何度も試しましたがなかなか思ったような結果は得られず。
※現在は影のサンプルにURLでのアドバイスをそのまま反映しただけの状態です。
また、木の後ろに回り込む(木よりカメラ側にいく)と影が正しく表示されることから、深度値での比較で失敗しているのではないかとも考えました。
そこで、サンプルソースにそのままDrawExtendGraph(0,0,640,480,DepthBufferGraphHandle,TRUE);を
// 影用の深度記録画像の準備を行う
SetupDepthImage() ;
// 影用の深度記録画像を使った影を落とす処理も含めたモデルの描画
DrawModelWithDepthShadow() ;
の後の追加し深度画像を確認しようとしたところ、結果は真っ白のままでした。
そこでお聞きしたいのですが、プレイヤーの影を邪魔している原因はどこである可能性が高く、どのような方法で解決できるでしょうか。
また、おそらく私の方法が違うからだと思うのですが・・深度画像を見るにはなにか違った方法をとる必要があるのでしょうか。
確認がうまくできず少々不便です・・
宜しくお願いします