###前提・実現したいこと
今までDirectX9でゲームを作っていたのですが、シェーダーを使うためにDirectX11を勉強しようと思い、とりあえず三角形を表示させるプログラムを書こうとしています。
###発生している問題・エラーメッセージ
hr = D3DX11CompileFromFileでSimpleVertex.hlslをコンパイルしようとすると、
hrに0x887c0002:指定されたファイルが見つかりませんでしたと返ってくる。
###該当のソースコード
C++
1"Main.cpp" 2#define SIMPLE_VERTEX_SHADER L"Shader/SimpleVertex.hlsl" 3#define SIMPLE_PIXEL_SHADER L"Shader/SimplePixel.hlsl" 4 5HRESULT Init(HINSTANCE hInstance) 6{ 7... 8HRESULT hr = S_OK; 9... 10ID3DBlob *pCompiledShader = NULL; 11ID3DBlob *pErrors = NULL; 12hr = D3DX11CompileFromFile 13( 14SIMPLE_VERTEX_SHADER, 15NULL, 16NULL, 17"VS", 18"vs_5_0", 190, 200, 21NULL, 22&*pCompiledShader, 23&*pErrors, 24NULL 25); 26... 27} 28... 29 30"SimpleVertex.hlsl" 31float4 VS(float4 Pos : POSITION):SV_POSITION 32{ 33 return Pos; 34|
###試したこと
SimpleVertex.hlslのプロパティを変更したり、パスの指定を"Shader¥SimpleVertex.hlsl"に変えてみたり、プロジェクトのプロパティから文字セットを「マルチバイト文字セットを使用する」に切り替えてそれに合わせた書き方に変えてみたりしてみましたが、指定されたファイルが見つからないか、ビルドエラーが出て解決しませんでした。
D3DX11CompileFromFileを行った直後のタイミングでブレークポイントをつけたら
hrの中身が0x887c0002:指定されたファイルが見つかりませんでしたとなっていました。
###補足情報(言語/FW/ツール等のバージョンなど)
SimpleVertex.hlslのプロパティはHLSLコンパイラの
エントリポイント名:VS
シェーダーの種類:頂点シェーダー(/vs)
シェーダーモデル:Shader Model4 Level9_3(/4_0_level_9_3)
となっており、
SimpleVertex.hlslファイルはMain.cppと同じフォルダの中にあるShaderフォルダの中に入っています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。