Writing your own 2D Pixel Shader in Monogame for Absolute Beginners

I wrote this one up long ago which shows how you can pass in a value to a shader to adjust the greyscale by pressing a key.

If you want to get a better idea of what is going on under the hood you may want to see how to do the same thing without spritebatch using quads directly which while is still 2d is a breath away from 3d.