2

いくつかのピクセルシェーダーの例をコンパイルしようとしました。しかし、それらはすべて同じエラーメッセージを表示します。

「シェーダーモデル3.0を以前のシェーダーモデルと混在させることはできません。頂点シェーダーまたはピクセルシェーダーのいずれかが3.0としてコンパイルされている場合は、両方を混在させる必要があります。」

問題は、ピクセルシェーダーがps_3_0を使用し、スプライトバッチのバージョンが以前のものであることにあるようです。

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

リンク リンク

4

1 に答える 1

3

バージョン3.0で頂点シェーダーを再コンパイルする必要があります。XNAのデフォルトのシェーダーはhttp://create.msdn.com/en-US/education/catalog/sample/stock_effectsから入手できます。そこからコードをコピーしますが、頂点シェーダーのバージョンをvs_3_0に設定します。

ほとんどのGPUはバージョンをサイレントに変換するため、少し不運です。:)

于 2010-10-25T19:05:14.047 に答える