質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.26%

  • DirectX

    56questions

    DirectX(ダイレクトエックス)は、 マイクロソフトが開発したゲーム・マルチメディア処理用のAPIの集合です。

  • HLSL

    10questions

    HLSLは、米マイクロソフト社によって開発された Direct3D APIで使われるプロプライエタリなシェーディング言語です。

DirectX11でhlslファイルをコンパイルすることができない

受付中

回答 0

投稿

  • 評価
  • クリップ 0
  • VIEW 31

ItsukiNamito

score 3

前提・実現したいこと

今までDirectX9でゲームを作っていたのですが、シェーダーを使うためにDirectX11を勉強しようと思い、とりあえず三角形を表示させるプログラムを書こうとしています。

発生している問題・エラーメッセージ

hr = D3DX11CompileFromFileでSimpleVertex.hlslをコンパイルしようとすると、
hrに0x887c0002:指定されたファイルが見つかりませんでしたと返ってくる。

該当のソースコード

"Main.cpp"
#define SIMPLE_VERTEX_SHADER L"Shader/SimpleVertex.hlsl"
#define SIMPLE_PIXEL_SHADER L"Shader/SimplePixel.hlsl"

HRESULT Init(HINSTANCE hInstance)
{
...
HRESULT hr = S_OK;
...
ID3DBlob *pCompiledShader = NULL;
ID3DBlob *pErrors = NULL;
hr = D3DX11CompileFromFile
(
SIMPLE_VERTEX_SHADER,
NULL,
NULL,
"VS",
"vs_5_0",
0,
0,
NULL,
&*pCompiledShader,
&*pErrors,
NULL
);
...
}
...

"SimpleVertex.hlsl"
float4 VS(float4 Pos : POSITION):SV_POSITION
{
  return Pos;
|

試したこと

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フォルダの中に入っています。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.26%

関連した質問

  • 解決済

    cppの初心者がファイルを分けてみたがコンパイルがうまくいかない

    コンパイルがうまくいきません。 header file #ifndef TIME_H #define TIME_H class Time { private :

  • 受付中

    Unityでディスプレイスマップを使うとしたら・・?

    少し気になった程度の事ですが質問させて下さい。 Unityでディスプレイスマッピングを使う場合はどの様な形で 実装しているのでしょうか?1例の概略といった所でも良いのですが

  • 解決済

    【C#】画像がロードできない【Direct2D】

    前提・実現したいこと Direct2D (Windows Imaging Component利用) で 画像を読み込む処理を行う関数をDLL化して C#側でDllImport

  • 解決済

    エラーの意味がわからなくて困っています><

    構造体を使って、点と点の距離をもとめるプログラムを分割コンパイルする課題をしているのですが、メインも関数もエラーが出てしまって、どうしてそのようなエラーがでているのかわからなくて質

  • 受付中

    移動平均法 C言語

    前提・実現したいこと 初心者です。 C言語でCSVファイルを読み込み、移動平均法で値を抽出し、また別のCSVファイルに出力するという処理を行いたいのですが、データ処移動平均法を

  • 解決済

    3Dレンダリング高速化について。

    最近のPCゲームは本物と同じくらいリアルなものが増えていますが、拡散色や法線から始まり、フレームバッファや遅延シェーディング等の内部処理をしている事には変わりはないですよね あら

  • 解決済

    Unity:レンダリング結果の射影変換について

    前提・実現したいこと Unityのポストエフェクトとして、レンダリングした結果に射影変換を適用させようとしています。 メインカメラにアタッチしたコンポーネントのOnRender

  • 解決済

    Texture2Dをななめに切り出す方法

    Texture2Dをななめに切り出す方法を探しています。 4点を基準に画像を切り取る関数などはないでしょうか? GetPixelsの引数も一つの座標と幅、高さしかないためどう斜めに

同じタグがついた質問を見る

  • DirectX

    56questions

    DirectX(ダイレクトエックス)は、 マイクロソフトが開発したゲーム・マルチメディア処理用のAPIの集合です。

  • HLSL

    10questions

    HLSLは、米マイクロソフト社によって開発された Direct3D APIで使われるプロプライエタリなシェーディング言語です。