■うまく行きそうで失敗
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を用いています。
ちなみにメッセージは表示されますが、画面の描画結果は正常だったりします。エラーのメッセージさえ見られなければ、どうということは無いのかもしれません(笑
■動作チェック予定
現在の症状から、以下の変更を行ってみて症状が改善するかを試みる方針です。
- DXSDKの更新
- 2010Juneあたりでやってみるといいのかも
- ドライバの更新
- Catalyst 10.11などは安定しているという噂も(ミドルレンジはという制約ありで)
- 動作OSの変更
- 32bit版Win7
- Vista, XP
- これらの環境ではどうなのだろうか