ページ 11

DirectX9のZバッファをSetTextureに設定して値を取得したい

Posted: 2021年10月13日(水) 10:39
by remble
現在、DirectX9で書いたプログラムで、Zバッファの値を取得したいと思っています。
D3DFMT_D24S8で作成したテクスチャのサーフェスをSetDepthStencilSurfaceで設定後、各種描画を行い
そのテクスチャをSetTextureで設定してシェーダーからZ値を参照したいのですがどうやればいいのでしょうか?

sampler tex0 : register(s0);
tex2D( tex0, In.Tex ).r;
などで参照すると全てClearで初期化した値(1.0)になってるようでした。
正しい値を取得したいのですがやり方が分かる方、教えて下さい。

Re: DirectX9のZバッファをSetTextureに設定して値を取得したい

Posted: 2021年10月15日(金) 07:39
by remble
こちら自己解決しました。

Re: DirectX9のZバッファをSetTextureに設定して値を取得したい

Posted: 2021年10月15日(金) 19:46
by みけCAT
どのように解決したかを書いてください。

フォーラムルールより
トピックを立て、解決した場合は「解決しました」とだけ書かず、どうやって解決したか他の人に分かるように書いて  からトピックを終了して下さい。

Re: DirectX9のZバッファをSetTextureに設定して値を取得したい

Posted: 2021年10月15日(金) 22:32
by remble
DirectX9では深度バッファの値を簡単に参照できない為
別途バッファを用意してオブジェクトを描画する時に
その都度Z値を自力で保存したものを使いました。

ただこれが一番良い方法かはわかりません。
一応、望んだ動作にはなっていますが。