|
|
|
|
|
by avaer
3382 days ago
|
|
You render twice per frame: half the "screen" rendered with a camera at ([-eyeOffset, 0, 0] * cameraRot) and the other rendered with a camera at ([+eyeOffset, 0, 0] * cameraRot). The main thing is this has some surprising performance implications (such as geometry complexity being more important than shader fillrate). You also need to keep an untraditionally high frame rate without dropping frames (90 FPS on the desktop headsets), which also has significant performance/app architecture implications. It's actually not that radically different in terms of graphics; a game programmer should feel right at home. The harder part is the UX implications when you realize "controlling the camera" is no longer in your hands. That might require fundamentally rethinking how your game and/or app functions. |
|
For this reason there's been a trend back towards forward rendering, with some modern twists to efficiently handle many dynamic lights like deferred does. UE4 for example:
https://docs.unrealengine.com/latest/INT/Engine/Performance/... | https://youtu.be/6kfMVxNSowM?t=3046