本サイトでは、アフィリエイト広告およびGoogleアドセンスを利用しています。

ハードウェアシャドウマップをやってみる -エラー編-

■うまく行きそうで失敗

AMD RADEON 5450の環境でもハードウェアシャドウマップが使える*1というので
ちょっと試してみました。
しかしながら、DirectXのデバッグランタイムを使用すると
エラーメッセージが表示される結果となってしまい現在調査中。

同プログラムはNVIDIA製グラフィックボード使ったときには正常だったのですが。

表示されるエラーメッセージは以下のようなものです。

Direct3D9: (ERROR) :ASSERTION FAILED!
File s:gfx_aug09windowsDirectXdxgInactiveD3D9D3Dfwtexture.hpp
Line 71: GetBufferDesc()->Format == GetUserFormat()

ちなみに、デプステクスチャは、D24S8で作成していましたが、D24X8でも同様。
D16にすると上記のメッセージは出なくなるのですが、出来ることなら24bit精度使いたいと思いますし、
いったい何が悪いのかをしばらく調査しようかと思います。

デプステクスチャ
512×512 D24S8, D24X8 エラーメッセージが出る
512×512 D16 正常

動作環境としては、Windows7(x64), Catalyst 10.7、DXSDK2009Aug を使用しています。
なお、NVIDIA環境では260.99ドライバで9800GTを用いています。

ちなみにメッセージは表示されますが、画面の描画結果は正常だったりします。エラーのメッセージさえ見られなければ、どうということは無いのかもしれません(笑

*1 : Advanced DX9 Capabilities for ATI Radeon Cards.pdfを参照してサポートの状況を確認しています。

■動作チェック予定

現在の症状から、以下の変更を行ってみて症状が改善するかを試みる方針です。

  • DXSDKの更新
    • 2010Juneあたりでやってみるといいのかも
  • ドライバの更新
    • Catalyst 10.11などは安定しているという噂も(ミドルレンジはという制約ありで)
  • 動作OSの変更
    • 32bit版Win7
    • Vista, XP
    • これらの環境ではどうなのだろうか
DirectXプログラミング
すらりんをフォローする
すらりん日記
タイトルとURLをコピーしました