C# 如何在HLSL中启用兼容模式?

C# 如何在HLSL中启用兼容模式?,c#,xna,hlsl,C#,Xna,Hlsl,如何在HLSL中启用兼容模式?我正在使用VisualStudio和xna 我希望能够在像素着色器中更改全局变量,然后在像素着色器通过后从像素着色器中检索它们,但我无法在像素着色器中更改全局变量,而不会得到一个错误,该错误告诉我它们是常量,并且我必须启用兼容模式 那么,我该如何实现这一点呢?虽然我以前没有看到这个错误,但我还是要冒险说,你误解了它 我很确定你想做的是不可能的,因为像素着色器是并行运行多次的。哪个像素应该是设置要读取的全局变量的像素 (在内部,这些全局变量映射到“常量寄存器”-此处的

如何在HLSL中启用兼容模式?我正在使用VisualStudio和xna

我希望能够在像素着色器中更改全局变量,然后在像素着色器通过后从像素着色器中检索它们,但我无法在像素着色器中更改全局变量,而不会得到一个错误,该错误告诉我它们是常量,并且我必须启用兼容模式


那么,我该如何实现这一点呢?

虽然我以前没有看到这个错误,但我还是要冒险说,你误解了它

我很确定你想做的是不可能的,因为像素着色器是并行运行多次的。哪个像素应该是设置要读取的全局变量的像素

(在内部,这些全局变量映射到“常量寄存器”-此处的关键字为常量。它们在进行绘制调用时设置,并且从着色器的角度来看是只读的。)