0

D3DX11CompileFromFile() 関数を使用してシェーダー ファイルを読み込もうとしていますが、HRESULT エラー「不明なエラーが発生しました」(デバッグに DXGetErrorDescription() を使用しています) が発生しました。奇妙なことは、HRESULT の MSDN ドキュメントにリストされていても、エラーが見つからないことです。最近、Visual Studio 2010 C++ Express が動作して、コードに関係のないエラーが大量に発生するため、問題が何であるかは少しわかりません。他の誰かがこのエラーに遭遇しましたか? もしそうなら、何が問題でしたか?

プログラムが最後に完全に機能して以来、プログラムにいくつかの小さな変更を加えただけです。私はチュートリアルに従っているので、コードが正しいことが期待されますが、私が初心者であることを見て、ばかげたエラーがある場合に備えて、最後に機能してから変更された領域をリストします。

.fx ファイル:

 VS_OUTPUT VS(float4 inPos : POSITION, float4 inColor : COLOR)
 {
     VS_OUTPUT output;

     output.Pos = inPos;
     output.Color = inColor;

     return output;
 }

 float4 PS(VS_OUTPUT input) : SV_TARGET
 {
      return input.Color;
 }

変更された他のコード:

   struct Vertex    //Overloaded Vertex Structure
   {
       Vertex(){}
       Vertex(float x, float y, float z, float cr, float cg, float cb, float ca)
           : pos(x,y,z), color(cr,cg,cb,ca){}

       XMFLOAT3 pos;
       XMFLOAT4 color;
   };


   //the layout, one element for each variable in the vertex struct
   D3D11_INPUT_ELEMENT_DESC layout[] =          
   {
       {"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },
       {"COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0 },
   };
   UINT numElements = ARRAYSIZE(layout);        //the number of elements

また、使用する場所の頂点構造体に新しいパラメーターを追加しました。

4

0 に答える 0