错误:无效的 vs_2_0 输出语义
Posted
技术标签:
【中文标题】错误:无效的 vs_2_0 输出语义【英文标题】:Error: Invalid vs_2_0 output semantic 【发布时间】:2017-07-31 18:19:13 【问题描述】:它说: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;
像素着色器:-
struct VS_OUTPUT
float4 Pos : SV_POSITION;
float4 Color : COLOR0;
;
float4 main(VS_OUTPUT input) : SV_Target
return input.Color;
here 是我的像素着色器设置。 我希望有人可以帮助我。
【问题讨论】:
您是否在属性面板中检查了目标和平台,VS2017 的行为与过去版本相比发生了重大变化,并且面板不再以当前 IDE 设置打开并跟踪他自己的设置。 【参考方案1】:打开 .hlsl 文件的属性页面,并在 HLSL Compiler/General/Shader Type 中选择 Pixel Shader。
【讨论】:
【参考方案2】:并且不要忘记设置此属性以进行调试和发布。
【讨论】:
【参考方案3】:您可以通过修改shader
属性来解决此问题
properties -> HLSL Compiler -> General -> Shader Type -> Pixel Shader (/ps)
或
Configuration properties -> General -> Excluded from Build = Yes.
【讨论】:
以上是关于错误:无效的 vs_2_0 输出语义的主要内容,如果未能解决你的问题,请参考以下文章
归档基于 Xcode 错误的 Unity 应用程序:无效的位码版本(生产者:'802.0.42.0_0' 读者:'800.0.42.1_0')
使用 GLUT_3_2_CORE_PROFILE 时出现 OpenGL 错误 1282(无效操作)
来自 PREfast 的指针无效访问(读取 0*1 的 4 个字节)错误
mongodb 3.4.2 InvalidIndexSpecificationOption 错误:字段“唯一”对于 _id 索引规范无效