Merge back from develop

A lot of DirectX "stuff"