• 締切済み

DirectXでXファイルの描画をするとテクスチャがチラつく

今現在、DirectX9とVC2005のC++を使用してソフトを製作しています。 D3DXCreateTextureFromFileにてXファイルを読み込み、描画をしているのですが なぜか、テクスチャが貼られたメッシュに黒い筋が入り激しくチラつきます。 ただ、これも常にというワケではなく、カメラが動いた時にチラつきます。 また、例えばカメラ移動中にチラついた状態でカメラが止まっても、 メッシュに黒い筋が入ったままだったりということもあります。 状態としては以下の様な感じです。 blog81.fc2.com/e/evom/file/caps.jpg 色々と調べてみて、フィルターを設定したりしてみたのですが状況は改善されず、 何が原因なのかもちょっと検討が付かないです・・・。 どなたか原因がお分かりになる方、ご教授の程よろしくお願い致します。

みんなの回答

  • aris-wiz
  • ベストアンサー率38% (96/252)
回答No.2

>D3DTSS_MODULATE D3DTOP_MODULATEのこと。。。かな??

ryu_ki
質問者

補足

間違いだらけで本当お恥ずかしい限りです…大変申し訳ございません。 仰る通り、D3DTOP_MODULATEです。

  • koedame
  • ベストアンサー率33% (10/30)
回答No.1

D3DXCreateTextureFromFile() ↑ の関数はXファイルを読み込むものではありません。 D3DXLoadMeshFromX() ↑ ですよね。w 他のXファイルでも試してください。 そっちでも変なら読み込み部分&描画部分のソースをお見せください。

ryu_ki
質問者

補足

そうでした(笑) お恥ずかしい限りで… とりあえず色々なXファイルでもチラつくので、試行錯誤の結果、 lpD3DDEV->SetTextureStageState(0, D3DTSS_COLOROP, D3DTSS_COLORARG1); lpD3DDEV->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE); とすると、チラつかずに描画出来ました。 ただ、 lpD3DDEV->SetTextureStageState(0, D3DTSS_COLOROP, D3DTSS_MODULATE); lpD3DDEV->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE); lpD3DDEV->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE); とすると、やはりチラついてしまいます。

関連するQ&A

専門家に質問してみよう