Opened 12 years ago

Closed 9 years ago

#13 closed enhancement (fixed)

Oculus rift refinements

Reported by: Tom Goddard Owned by: Tom Goddard
Priority: minor Milestone:
Component: Retired Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: chimera

Description

Here are some ideas to improve the experience using the oculus rift stereo goggles.

1) Reduce latency by putting glFinish() after swapping buffers to avoid starting a new frame before the old one is drawn.

2) Reduce chromatic aberration by warping red and blue image colors different from green. Looks straightforward. Blue and orange fringes are very noticable on gray collagen filaments map.

3) Use predictive head tracking to estimate view direction 30 milliseconds later. Very easy to add since Oculus SDK provides this.

4) Fill more of oculus display by rendering a larger field of view.

Change History (6)

comment:1 by Tom Goddard, 12 years ago

I tried #4 (filling oculus display) by imaging a 1.5 times wider field (unwarped). It doesn't quite reach the left and right edges of the display. Surprisingly the borders within about 5-10% of the edge of this imaged area were not visible. I tried all 3 sets of oculus lenses (for near-sightedness) and the B and C sets for nearsighted showed even less of the border. Only by moving the mask up down or side to side could I see close to the border. So it doesn't seem worth using more of the display. It seems the oculus developer kit display is too big to use the borders with the provided lenses. The border may be somewhat useful for people with extreme wide or close eye spacing, or people where the mask sits very high or low on the face.

comment:2 by Tom Goddard, 12 years ago

Added 1-3.

The glFinish and predictive head tracking with 30 millisec time offset might be helping latency but I don't have a good way to test this. There is still some warping effect when I turn my head. It may be caused by the lights tracking with my viewing direction. It would be worth trying fixed light directions. Or maybe turn off specular and see if warping persists. Perhaps center of warping is wrong. Should try scale factor 0.01 to see if images are rendered in correct position at eye separation.

The chromatic aberration correction definitely reduces the color fringes a great deal. But surprisingly it adds some fringes near the middle. The red correction factor is 0.996 - 0.004*r*r while the blue is 1.014 for the oculus dev kit (where r = radius from center of lense in -1,1 range horizontally). It is odd that the constant correction is not 1.0.

The larger field of view seems unnecessary. Code is in to support it but the scale factor is fixed at 1.0 meaning no scaling.

comment:3 by Tom Goddard, 12 years ago

Testing with scale factor 0.01 to check eye center positions and measuring on screen shows the warping is about the correct center positions. So the appearance of warp during head rotation is not due to incorrect center of warping.

comment:4 by Tom Goddard, 12 years ago

Warping appearance during head rotation seems to be much less if field of view is reduced to 90% of the supposedly correct value. Still see some warping. Don't know why the field of view seems off.

comment:5 by Tom Goddard, 12 years ago

The residual warped appearance during head rotation may be because by eye separation does not match the 63.5 mm lens separation. Try to measure this in a mirror. Initial attempt using glass with poor reflection suggests my pupil center spacing is less, maybe 60 mm. Need better measurement.

comment:6 by Tom Goddard, 9 years ago

Resolution: fixed
Status: newclosed

These features are now handled by the Oculus SDK.

Note: See TracTickets for help on using tickets.