そのため、教授は、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 サイトで尋ねられた場合は、お詫び申し上げます。この場所が適切だと思います。追加情報が必要な場合は、お知らせください。
前もって感謝します!