3
SOのシェーダコードを貼り付けましたが、プロジェクトが機能しなくなりました。エラーX3000:シェーダファイルの不正な文字
汚染されたコード行を削除しました。
Unity forumsに示唆されているように、VS、メモ帳、メモ帳++を使って複数回シェーダを書き直しました。
- メモ帳++で16進エディタビューを使用しましたが、最初の2バイトは
0xFE 0xFF
であり、これはgamedev questionではありません。
私は本当にこれを理解することはできません。私はあなたが持っているかもしれない提案に感謝しています。
cbuffer CB_PER_FRAME : register(b0)
{
column_major float4x4 view;
column_major float4x4 proj;
float4 eyePosition;
};
struct VertexInput
{
float3 position : POSITION;
float3 normal : NORMAL;
float2 texCoord : TEXCOORD;
row_major float4x4 world : WORLD;
float4 color : COLOR;
uint instanceID : SV_InstanceID;
};
struct PixelInput
{
float4 position : SV_POSITION;
float3 normal : NORMAL;
float2 texCoord : TEXCOORD;
float4 color : COLOR;
};
PixelInput VertexShaderMain(VertexInput vertexInput)
{
PixelInput pixelInput (PixelInput)0;
pixelInput.position = mul(float4(pixelInput.position, 1.0f), vertexInput.world);
pixelInput.position = mul(pixelInput.position, view);
pixelInput.position = mul(pixelInput.position, proj);
pixelInput.normal = normalize(mul(pixelInput.normal, (float3x3)vertexInput.world));
pixelInput.texCoord = vertexInput.color;
pixelInput.color = vertexInput.color;
return pixelInput;
}
float4 PixelShaderMain(PixelInput pixelInput) : SV_Target
{
return pixelInput.color;
}