C++ 此FXC错误有问题吗?
我在谷歌上搜索了很多,却找不到一个解决办法。我正在使用Direct3D 11(在/Sample/-the cube one下的教程中)。它使用.fx,我知道它已被弃用,但没有教程不使用它。几乎,每当我构建程序时,都会出现错误“fxc.exe退出,代码为1”。以下是我在“Shader.fx”中的代码:C++ 此FXC错误有问题吗?,c++,windows,directx,direct3d11,C++,Windows,Directx,Direct3d11,我在谷歌上搜索了很多,却找不到一个解决办法。我正在使用Direct3D 11(在/Sample/-the cube one下的教程中)。它使用.fx,我知道它已被弃用,但没有教程不使用它。几乎,每当我构建程序时,都会出现错误“fxc.exe退出,代码为1”。以下是我在“Shader.fx”中的代码: 在文件的属性下,我将ShaderType设置为“Effect(/fx)”。我在入口点的名字下没有任何东西。顺便说一句,我正在使用Visual Studio 2013。您需要将着色器类型设置为Effe
在文件的属性下,我将ShaderType设置为“Effect(/fx)”。我在入口点的名字下没有任何东西。顺便说一句,我正在使用Visual Studio 2013。您需要将着色器类型设置为
Effect(/fx)
并将着色模型设置为Shader Model 5(/5_0)
才能使用VS 2013构建传统的Effects 11着色器。确保为所有配置和所有平台设置了.fx文件属性
您应该了解如何使用的CodePlex版本以及已更新的各种版本,以便在不使用传统DirectX SDK的情况下为VS 2013构建
还有一些不使用传统效果的教程,包括和(正在进行中)的教程,当然还有Windows 8.x的Windows应用商店应用。谢谢!成功了!我也不得不在这里做一些调整,但它起了作用!(调整是与此问题无关的代码块中的bug)
// Constant buffer
cbuffer ConstantBuffer : register(b0){
matrix World;
matrix View;
matrix Projection;
}
struct VS_OUTPUT{
float4 Pos : SV_POSITION;
float4 Color : COLOR0;
};
// Vertex Shader
VS_OUTPUT VS(float4 Pos : POSITION, float4 Color : COLOR){
VS_OUTPUT output = (VS_OUTPUT)0;
output.Pos = mul(Pos, World);
output.Pos = mul(output.Pos, View);
output.Pos = mul(output.Pos, Projection);
output.Color = Color;
return output;
}
// Pixel Shader
float4 PS(VS_OUTPUT input) : SV_Target{
return input.Color;
}