Джоэл Мартинес действительно прав, и вы используете его таким образом с SpriteBatch, загрузив эффект в tintWhiteEffect:
spriteBatch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.Immediate, SaveStateMode.None);
tintWhiteEffect.Begin();
tintWhiteEffect.CurrentTechnique.Passes[0].Begin();
// DRAW SPRITES HERE USING SPRITEBATCH
tintWhiteEffect.CurrentTechnique.Passes[0].End();
tintWhiteEffect.End();
spriteBatch.End();
SpriteSortMode. Здесь есть хитрость, она позволяет вам заменить шейдер SpriteBatch по умолчанию на свой собственный. Его использование сделает рисование спрайтов немного медленнее, поскольку спрайты не объединяются в один вызов отрисовки, но я не думаю, что вы заметите разницу.