Where in previous XNA versions you used to write:
effect.Begin(); effect.CurrentTechnique.Passes[0].Begin(); DrawStuff(); effect.CurrentTechnique.Passes[0].End(); effect.End();
With Game Studio 4.0 this becomes just:
effect.CurrentTechnique.Passes[0].Apply(); DrawStuff();
What in previous versions would be:
effect.Begin();
effect.CurrentTechnique.Passes[0].Begin();
DrawStuff();
effect.Parameters["lives"].SetValue(9);
effect.CommitChanges();
DrawOtherStuff();
effect.CurrentTechnique.Passes[0].End();
effect.End();
Is now:
effect.CurrentTechnique.Passes[0].Apply();
DrawStuff();
effect.Parameters["lives"].SetValue(9);
effect.CurrentTechnique.Passes[0].Apply();
DrawOtherStuff();
Editors note: if you profile the new Apply method with the 4.0 CTP, you may notice it is slower than the old CommitChanges. Don't worry: this is just a temporary state of affairs due to some missing optimizations that didn't make it in time for the CTP release.
We also took out a bunch of stuff:
Finally, we upgraded to a more recent version of the Windows HLSL compiler, which means that: