我正在努力为Direct X 11教程编译一些着色器,我正在努力完成。
出于某种原因,即使我明确更改了" Entrypoint名称"我仍然收到这条消息。 X3501'未找到主要入口点'
我希望能够在构建时编译着色器而不是运行时。
以下是我的Vertex Shader的hlsl属性的屏幕截图:
这是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;
}
非常感谢任何帮助。谢谢!
修改
我的像素着色器也有类似的设置
答案 0 :(得分:1)
您应该选择“所有配置”和“所有平台”。否则,您只需为Debug / x64正确设置它。
答案 1 :(得分:0)
仅从项目中删除hlsl文件,但不能删除。VisualStudio不应编译hlsl文件。它与主入口点无关,因此编辑入口点的名称是没有用的。