thanks for contributing this project, pretty amazing stuff you got going there. I tried to get this running at home, but first I stumbled over the DX10 HW requirement. On my other machine I could get it running then. While Direct2D is DX10 based, MS put
quite a lot of effort into making it still compatible with DX9 HW by using the D3D10Level9 layer. By lowering the FeatureLevel parameter in the device creation call, you can create a DX10 device even on DX9 hardware, and most of the stuff will be HW accelerated.
This however does not work with your solution, because you are using version 4.0 pixel and vertex shaders for your SpriteRenderer. While the SpriteRenderer seems to be highly optimized, offloading the transform calculations to the GPU, you are loosing big
part of potential users. Lots of users have rather powerful DX9 cards, yet they cannot run your code at all. Are you considering to add a second rendering path using version 2.0 shaders at some point?