0

Shader Model 4.0 をいじり始めて、基本的なサンプル プロジェクトをセットアップしようとしています。(基本的には立方体をレンダリングしてライトアップ)

しかし、atm。私は最も基本的な部分で完全に立ち往生しています。Vertex Shader がコンパイルされず、次のエラー メッセージが表示されます。

エラー 1 コンパイル エラー ...\x.fx:

...\x.fx(32,43):エラー X3013: 'VertexShaderFunction': 関数は 0 パラメーターを取りません ...\x.fx 32 43 ...

今までの私のコード:

float4x4 World;
float4x4 View;
float4x4 Projection;

struct VS_INPUT
{
    float4 Position : POSITION;
};

struct VS_OUTPUT
{
    float4 Position : POSITION;
};

VS_OUTPUT VertexShaderFunction(in VS_INPUT input)
{
    VS_OUTPUT output;

    float4 worldPosition = mul(input.Position, World);
    float4 viewPosition = mul(worldPosition, View);
    output.Position = mul(viewPosition, Projection);

    return output;
}

technique Technique1
{
    pass Pass1
    {
        SetVertexShader( Compile( vs_4_1, VertexShaderFunction() ) );
        SetGeometryShader(NULL);
        SetPixelShader( NULL );
    }
}

VS_INPUT パラメータは明確に入力としてマークされており、均一ではありません。構造体は、すべてのメンバー (唯一のメンバー) に入力セマンティックを割り当てます。これが正しくコンパイルされない理由を誰かが知っていますか?

Win7 Ultimate + DirectX11 + XNA GameStudio 4.0を使用しています。グラフィック カードはIntel GMA 4500MHDです(したがって、シェーダー モデル 4.0 を使用できるはずです)。

4

1 に答える 1

0

そして彼女は私自身の質問に答えて行きます-なんてばかげた間違いです(そして見つけるのは難しいです):

それは CompileShader() であり、Compile() ではありません

于 2012-12-22T22:42:58.223 に答える