Integration of the Oculus has exposed a few issues with the engine in terms of shader capability.
First, there’s no projection matrix post-multiplication. I implemented a matrix for that myself in the Camera class, but I’m not entirely sure it worked. Here’s what I did:
Where postfixMult is a translation matrix you can set the translation of. Note that this happens AFTER the vertices are in clip space, so its a POST multiplication.
Second, the lack of reading from a specific viewport made it difficult to write the shader since you have to accomodate the entire screen now.
Third, the postprocessing XMLs don’t allow you to scale a texture up – which is a crucial part of the Oculus display.
Note that a lot of these issues also apply to other applications, mainly post-processing wise.