Vision Disorders (2017)

Android app to simulate vision deficiencies


I took a Neuropsychology class this past term since I find psychology topics interesting. In the class we had an opportunity to make a "meaningful project" which could be anything that relates to neuropsychology. I decided to make an Android app for Google Cardboard that simulates various vision disorders. The goal was to demonstrate how disorienting these vision deficiencies are through an immersive VR experience.

Languages / Libraries:

  • Java
  • GLSL
  • OpenGL ES 2.0
  • Google VR


  • Colorblindness
  • Akinetopsia (Motion Blindness)
  • Hemianopia (Loss of vision in half of each eye)
  • Tetrachromacy (Seeing extra colors with a fourth cone cell)
  • Android Development
  • Vertex and Fragment Shaders


For an in-depth overview of the project and explanation of the disorders, view the repo


Color blindness is a deficiency in color vision caused by malfunctioning cone cells. Losing a single cone results in confusing two of the primary colors of light, and greatly reduced color differentiation across all hues.

Protanopia (Red-Green Colorblindness)

Protanopia is the complete loss of red vision. A protanope cannot distinguish red from green as illustrated here below:

Normal Vision: Normal Vision

Protan Vision: Protan Vision

Deuteranopia (Also Red-Green Colorblindness)

Deuteranopia is the complete loss of green vision. This presents with similar deficits as in Protanopia as red and green are still confused. Of the two, Deuteranopia is more common.

Normal Vision: Normal Vision

Deutan Vision: Deutan Vision

Tritanopia (Blue-Yellow Colorblindness)

Tritanopia is the loss of blue vision. The major confusion is between green and blue.

Normal Vision: Normal Vision

Tritan Vision: Tritan Vision

Achromatopia (Full colorblindness)

Achromatopia is the complete loss of color vision in all three types of cones. Someone with this disorder must rely on only their rod cells to see the world and thus can only see things in greyscale.

Normal Vision: Normal Vision

Achromatic Vision: Achromatopia Vision


Someone with Akinetopsia (motion blindness) can not process motion properly. He or she would see the world in snapshots. This is basically like seeing the world through bad lag. Here are videos illustrating the difference:

Normal Vision:



The eyes are wired to the primary visual cortex through neural pathways that go all the way through the brain. If damage to these pathways occurs, one can experience partial vision loss depending on which connections are cut.

Each eye has a left and right field of vision. They are cross-wired like so:

   Top view:


  left eye  right eye
    L R       L R
    \ |       | /
     \|       |/
      \       /
      |\     /|
      | \   / |
      |  \ /  |
      |   x   |
      |  / \  |
      | /   \ |
      R R   L L
   left      right
hemisphere   hemisphere


Thus, damage to the occipital lobe in the right hemisphere only can cause loss of vision of the left half of each eye. Likewise, the right half of one’s vision would be lost if the left hemisphere was damaged.


Below are a few variations of hemianopia that are included in my app. But first, here is a screenshot taken in the normal vision mode for comparison:

Normal Vision

Left Homonymous Hemianopia

Here is one of the cases described above:

Left Hemianopia

Binasal Hemianopia

It is also possible to lose vision in the middle of the field of view or to the sides

NOTE: This simulation is not that accurate due to the limited field of view of the Google Cardboard. However, it gets the point across.

Binasal Hemianopia

Right Superior Quadrantanopia

Depending on where in the optical tract the damage occurs, one might lose a quadrant of vision instead of a half:



A small percentage of women have a fourth cone cell that responds to wavelengths between green and red. This allows the person to distinguish many additional shades of color.

Since I can’t give anyone extra cone cells, I decided to explain this one by analogy with color depth.

Imagine normal vision is like this image with a reduced color depth. We still can see plenty of colors:

Normal Vision:

Normal Vision

However, there are many additional shades of colors, one just needs the right cone cells in order to see them:

Tetrachromatic Vision


Here are sources I referred to when making my project.

  • “Color Blindness Simulation.”, Internet Archive: Wayback Machine, 14 Oct. 2008, Accessed 26 May 2017. 
  • Deleniv, S. “The Mystery of Tetrachromacy: If 12% of Women Have Four Cone Types in Their Eyes, Why Do So Few of Them Actually See More Colours?” The Neurosphere, 16 Dec. 2015, Accessed 26 May 2017.
  • Flück, Daniel. “Colorblind Colors of Confusion” Colblindor, 19 Jan. 2009, Accessed 26 May 2017.
  • Flück, Daniel. “Colorblind Population” Colblindor, 28 Apr. 2006, Accessed 26 May 2017.
  • Flück, Daniel. “Confusion Lines of the CIE 1931 Color Space.” Colblindor, 23 Jan. 2007, Accessed 26 May 2017.
  • Flück, Daniel. “Types of Color Blindness” Colblindor, Accessed 26 May 2017.
  • “Hemianopia.” Help For Vision Loss, Noravision, 2017, Accessed 26 May 2017.
  • Moore, Jesse. “Physiology.” Akinetopsia, Accessed 26 May 2017.
  • Moore, Jesse. “Symptoms.” Akinetopsia, Accessed 26 May 2017.


  • Demonstrated four different neurological vision disorders.
  • Learned a lot about vision
  • Learned quite a bit about OpenGL and 3D graphics in general

Needed Improvements:

  • I do not plan to add anything to this project.