2

我试图编译一些像素着色器示例。但他们都给出了相同的错误信息。

“不能将着色器模型 3.0 与早期的着色器模型混合。如果顶点着色器或像素着色器编译为 3.0,则它们都必须是。”

问题似乎是像素着色器使用 ps_3_0 并且精灵批处理具有早期版本。

technique MyTechnique
{
    pass
    {
        PixelShader = compile ps_3_0 Mandelbrot_PixelShader();
    }
}

链接 链接

4

1 回答 1

3

您必须使用 3.0 版本重新编译顶点着色器。您可以从http://create.msdn.com/en-US/education/catalog/sample/stock_effects获取 XNA 的默认着色器从那里复制代码,但将顶点着色器的版本设置为 vs_3_0。

大多数 GPU 会默默地转换版本,所以你有点不走运。:)

于 2010-10-25T19:05:14.047 回答