- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DirectX シェーダプログラムについて)
DirectXシェーダプログラムについてのハンドル取得エラー
このQ&Aのポイント
- DirectXシェーダプログラムを学習している間に、ハンドル取得エラーが発生しました。
- 具体的には、m_hTech、m_hWvp、m_hColorのハンドル取得で警告が発生しています。
- 問題の原因を特定するために、ヘッダーファイルを確認しましたが、解決策が見つかりませんでした。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
D3DXHANDLEはポインタ型の別名ですので、 m_hTechへの代入が原因でエラーが起きることは(普通にコード書いている限り)ありえません。 また、GetホニャララByName関数は名前が見つからなかった場合はNULLを返すだけですので、この関数が原因でもないと思います。 残るはm_pFXですが、 場所0x00000000 を読み込み中にアクセス違反が~というエラーですので、m_pFXがNULLになっているのだと思われます。 おそらくID3DXEffectオブジェクトの生成に失敗しています。 これ以上の事は投稿内容からは解りません。 エフェクト生成はD3DXCreateEffectホニャララという名前の関数ですので、 そのあたりから該当場所までのm_pFXの値をデバッガで追いかけてみてください。 (勘ですが、D3DXCreateEffectFromFileで外部ファイルからエフェクトを生成してる場合、一番ありがちなのは単にファイルが読み込めない(指定パスに見つからない等)ですので、その辺もチェックしてみてください。)
お礼
ご丁寧にありがとうございます。 さっそく確認しようと思います。