我在 XNA 中使用 Effect 类进行测试,我想多次设置相同的参数(下面代码中的 MyParameter)。
我的代码是:
[...]
//In Engine class
Effect ShaderEffect = GameEngine.Instance.Content.Load<Effect>(@"shaders\test");
spriteBatch.Begin(
SpriteSortMode.Deferred,
BlendState.AlphaBlend,
SamplerState.PointWrap,
DepthStencilState.Default,
RasterizerState.CullNone,
ShaderEffect);
[...]
//in drawable class
foreach(//big loop) {
ShaderEffect.Parameters["MyParameter"].SetValue(//random vector4);
spriteBatch.Draw(
SpriteSheet,
ScreenRect,
sprite_to_draw.Rectangle,
color,
rotation,
Scene.getInstance().Camera.Position,
sprite_to_draw.SpriteEffect,
layer
);
}
[...]
//In Engine class
spriteBatch.End();
[...]
但是在我的屏幕上看起来参数“MyParameter”没有被覆盖。
那么我可以覆盖它吗?如果是,你知道怎么做吗?
谢谢