The original Oculus API was very open. Now large swaths of code are being put into binary services. The latest API is massive change again. Now they are putting all the distortion related code in binary blob/service. Good luck trying to port it to Mac or Linux.
Oh one more thing stop fing writing of your POS code from scratch. WTF a logger class, string class, smart pointer class and finally yet another fing linear algebra that class just plain sucks. Oh you want to do 3*Vector3M, nope ,have to do Vector*3.
Now I see why it has taken so long to get a final product, you suffer from NIH syndrome.
Finally can you fing decide if you are going to use tabs or spaces to indent your code or at least keep them the same in the same fing file.