Creating block worlds within the HiDef profile
Block worlds tend to consist of a small number of unique elements repeated heavily.
The ability to use custom shaders within the HiDef profile means we're able to harness the dedicated support of the underlying hardware for this sort of scenario and enjoy the possibility of dramatically improved rendering performance.
Microsoft has very nicely provided a working example of how to achieve hardware instancing via a custom shader. There's a fair amount of code included that's not directly applicable to our needs so we'll be utilizing the custom shader from their sample as a starter and then focusing in on just the C# code required for a game.
Getting ready
This example relies on the same sprite sheet files as the Creating block worlds within the Reach Profile example in this chapter, so it's assumed that the sprite sheet texture, texture map, and pipeline extension files have already been included in our game by this point.
How to do it...
1. Start...