Reducing latency by re-using eye textures
I've been tasked with showing a huge database on Oculus Rift. It doesn't render at 60fps on any machine I've tried and Oculus will give half the frame rate (or worse) because everything has to be rendered twice.
I was wondering if it's possible to give the illusion of double frame rate by rendering each eye with a bit of a border then presenting that same rendering again (with appropriate remapping) in between the rendering of the left/right eyes.
Like this:
1) Copy eye textures to Rift (as-is).
2) Render new Left eye (into a third texture)
3) Copy eye textures to Rift (with remapping due to movement since step (1)).
4) Render Right eye
5) GOTO 1
nb. The Left eye needs double-buffering
My graphics card can dump an empty view to the oculus display 1000 times a second so steps (1) and (3) are only a tiny fraction of the overall rendering time. Doing it twice per update would hardly make a difference to the overall update rate.
Is it likely to work...?
Has anybody tried this before??
I was wondering if it's possible to give the illusion of double frame rate by rendering each eye with a bit of a border then presenting that same rendering again (with appropriate remapping) in between the rendering of the left/right eyes.
Like this:
1) Copy eye textures to Rift (as-is).
2) Render new Left eye (into a third texture)
3) Copy eye textures to Rift (with remapping due to movement since step (1)).
4) Render Right eye
5) GOTO 1
nb. The Left eye needs double-buffering
My graphics card can dump an empty view to the oculus display 1000 times a second so steps (1) and (3) are only a tiny fraction of the overall rendering time. Doing it twice per update would hardly make a difference to the overall update rate.
Is it likely to work...?
Has anybody tried this before??
