未找到X3501'主要入口点'

时间:2017-10-29 23:41:25

标签: visual-studio game-engine directx-11 hlsl

我正在努力为Direct X 11教程编译一些着色器,我正在努力完成。

出于某种原因,即使我明确更改了" Entrypoint名称"我仍然收到这条消息。 X3501'未找到主要入口点'

我希望能够在构建时编译着色器而不是运行时。

以下是我的Vertex Shader的hlsl属性的屏幕截图:

enter image description here

这是Vertex Shader代码:

 cbuffer cbPerObject : register(b0)
 {
     float4x4 gWorldViewProj; 
 };

 struct VertexIn
 {
     float3 PosL  : SV_POSITION;
     float4 Color : COLOR;
 };

 struct VertexOut
 {
     float4 PosH  : SV_POSITION;
     float4 Color : COLOR;
 };

 VertexOut VS(VertexIn vin)
 {
     VertexOut vout;

     // Transform to homogeneous clip space.
     vout.PosH = mul(float4(vin.PosL, 1.0f), gWorldViewProj);

     // Just pass vertex color into the pixel shader.
     vout.Color = vin.Color;

     return vout;
 }

非常感谢任何帮助。谢谢!

修改

我的像素着色器也有类似的设置

2 个答案:

答案 0 :(得分:1)

您应该选择“所有配置”和“所有平台”。否则,您只需为Debug / x64正确设置它。

答案 1 :(得分:0)

仅从项目中删除hlsl文件,但不能删除。VisualStudio不应编译hlsl文件。它与主入口点无关,因此编辑入口点的名称是没有用的。