0

そのため、教授は、Vector3D の描画、配置、および移動について学習するのに役立つクラス コードを提供してくれました。コードはもともと XNA 3.1 で書かれており、ここ学校のラボではまだ XNA 3.1 を使用していますが、私はラップトップですべての作業を行っています。私のラップトップには Visual Studio 2012 があります (私は 2013 を持っていますが、まだ XNA を移行していません)。エラーの1つを除いてすべてを把握して修正しました。ゲームをデバッグして実行するたびに、このエラーが発生し続けます。

Error 1 Errors compiling C:\Users\Nicholas\Documents\Visual Studio 2013\Projects\MGH05_PrimitiveObjects\MGH05_PrimitiveObjects\Content\Shaders\PositionColor.fx:
C:\Users\Nicholas\Documents\Visual Studio  2013\Projects\MGH05_PrimitiveObjects\MGH05_PrimitiveObjects\Content\Shaders\PositionColor.fx(27,6): error X3000: syntax error: unexpected token 'VertexShader'   C:\Users\Nicholas\Documents\Visual Studio 2013\Projects\MGH05_PrimitiveObjects\MGH05_PrimitiveObjects\Content\Content\Shaders\PositionColor.fx  27  6   MGH05_Win_PrimitiveObjects

私の教授もグーグルも役に立たなかった。誰でもこれを修正する方法を知っていますか? シェーダー (PositionColor.fx) コードは次のとおりです。

float4x4 wvpMatrix  : WORLDVIEWPROJ;

struct VSinput
{
    float4 position : POSITION0;
    float4 color    : COLOR0;
};

struct VStoPS
{
    float4 position : POSITION0;
    float4 color    : COLOR0;
};

struct PSoutput
{
    float4 color    : COLOR0;
};

// alter vertex inputs
void VertexShader(in VSinput IN, out VStoPS OUT)
{
    // transform vertex
    OUT.position = mul(IN.position, wvpMatrix);
    OUT.color = IN.color;
}

// alter vs color output
void PixelShader(in VStoPS IN, out PSoutput OUT)
{
    float4 color = IN.color;
    OUT.color    = clamp(color, 0, 1); // range between 0 and 1
}

// the shader starts here
technique BasicShader
{
    pass p0
    { 
            // declare & initialize ps & vs
            vertexshader = compile vs_1_1 VertexShader();
            pixelshader  = compile ps_1_1 PixelShader();
    }
}

VertexShader の名前を変更してもエラーが発生しますが、現在は PixelShader を使用しています。両方の名前を変更しても、VertexShader エラーが発生します。

誰かが何か考えを持っているなら、私に知らせてください!また、これが間違ったスタック Web サイトで尋ねられた場合は、お詫び申し上げます。この場所が適切だと思います。追加情報が必要な場合は、お知らせください。

前もって感謝します!

4

1 に答える 1