• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DirectX シェーダプログラムについて)

DirectXシェーダプログラムについてのハンドル取得エラー

このQ&Aのポイント
  • DirectXシェーダプログラムを学習している間に、ハンドル取得エラーが発生しました。
  • 具体的には、m_hTech、m_hWvp、m_hColorのハンドル取得で警告が発生しています。
  • 問題の原因を特定するために、ヘッダーファイルを確認しましたが、解決策が見つかりませんでした。

質問者が選んだベストアンサー

  • ベストアンサー
  • axsies
  • ベストアンサー率64% (38/59)
回答No.1

D3DXHANDLEはポインタ型の別名ですので、 m_hTechへの代入が原因でエラーが起きることは(普通にコード書いている限り)ありえません。 また、GetホニャララByName関数は名前が見つからなかった場合はNULLを返すだけですので、この関数が原因でもないと思います。 残るはm_pFXですが、 場所0x00000000 を読み込み中にアクセス違反が~というエラーですので、m_pFXがNULLになっているのだと思われます。 おそらくID3DXEffectオブジェクトの生成に失敗しています。 これ以上の事は投稿内容からは解りません。 エフェクト生成はD3DXCreateEffectホニャララという名前の関数ですので、 そのあたりから該当場所までのm_pFXの値をデバッガで追いかけてみてください。 (勘ですが、D3DXCreateEffectFromFileで外部ファイルからエフェクトを生成してる場合、一番ありがちなのは単にファイルが読み込めない(指定パスに見つからない等)ですので、その辺もチェックしてみてください。)

hata3413
質問者

お礼

ご丁寧にありがとうございます。 さっそく確認しようと思います。