Strabismus is the condition of having divergent eyes, also known colloquially as being cross-eyed or wall-eyed. To some extent it can be corrected for with glasses, and in more extreme cases, surgery. Those afflicted who cannot get full correction with glasses or surgery are often at least partially stereo-blind, unable to use the differing parallax of objects to resolve their depth, and are forced to rely on other clues for depth perception. Fortunately the brain is very good at generating a sense of depth from both parallax caused by moving the head and from cues such as known sizes for common objects.
I myself have divergent eyes. My eyes diverge about 5° vertically and about 10° laterally. I wear prismatic glasses that compensate to some degree, but not completely. In fact, since I've started wearing the glasses the divergence has increased, as the glasses now do some of the work, allowing the eyes to work less hard to compensate, a situation my optometrist refers to as 'eating the prism'.
Since the release of the Rift I've been excited about the prospect not only of using it for immersive VR applications and games, but to allow me to correct for the divergent eyes. While the Oculus VR SDK doesn't (yet) natively support measuring and correcting for this condition, doing so is actually pretty simple. In fact I've created a small tech demo that does precisely that.
The tech demo is located here and is built for 64-bit Windows platforms. I will soon be uploading Mac & Linux versions, as well as uploading the source code to my GitHub repository here.
If you have issues with perceiving depth, or wear glasses for correcting strabismus, I suggest you give it a try.
Articles related to virtual reality with a focus on software development, by the authors of Oculus Rift in Action.
Showing posts with label stereoscopic. Show all posts
Showing posts with label stereoscopic. Show all posts
Friday, January 3, 2014
Monday, October 14, 2013
Understanding Matrix Transformations for Rendering to the Oculus Rift
If you look at the examples in the Oculus SDK or in my example, you may notice that in the normal course of rendering, there are modifications to both the model-view matrix, as well as to the projection matrix. Each matrix is translated on the X axis by a small amount, but it's not really immediately obvious why. This article will attempt to make the issue a little clearer by going into the purpose and effect of each translation.
Subscribe to:
Posts (Atom)