错误:vs_2_0输出语义无效

Kay*_*gen 3 hlsl

它说:Invalid vs_2_0输出语义SV_Target.

因此,Visual Studio 2017正在编译我的像素着色器,好像它是一个顶点着色器.但在属性面板中,我将其指定为ps_5_0.有没有我应该指定的东西?

顶点着色器: -

cbuffer ConstantBuffer : register(b0)
{
    matrix World;
    matrix View;
    matrix Projection;
}

struct Input {
    float3 Pos  : POSITION;
    float4 Color: COLOR;
};

struct VS_OUTPUT
{
    float4 Pos : SV_POSITION;
    float4 Color : COLOR0;
};

VS_OUTPUT main(Input input)
{
    VS_OUTPUT output = (VS_OUTPUT)0;

    output.Pos = mul(input.Pos, World);
    output.Pos = mul(output.Pos, View);
    output.Pos = mul(output.Pos, Projection);

    output.Color = input.Color;
    return output;
}
Run Code Online (Sandbox Code Playgroud)

像素着色器: -

struct VS_OUTPUT
{
    float4 Pos : SV_POSITION;
    float4 Color : COLOR0;
};

float4 main(VS_OUTPUT input) : SV_Target
{
    return input.Color;
}
Run Code Online (Sandbox Code Playgroud)

而且这里是我的像素着色器设置.我希望有一个人可以帮助我.

jos*_*lmt 6

打开.hlsl文件的"属性"页面,在" HLSL编译器/常规/着色器类型"中选择" 像素着色器".