Recently I began the task of upgrading my generic XNA game framework to XNA 4.0. All in all the process went pretty smoothly with one exception. Upon rendering 2D and 3D in combination texture information was lost from the 3D environment.


The picture on the left shows the issue, the right, how things should look.
With a little debugging and googling I quickly tracked down SpriteBatchas the culprit. It seems that previously, I had been getting away with not ensuring that the drawing states were correctly set before starting to draw. In fact I was relying on the now redundant SaveStateMode to do this for me.