This is the third part of a three series posts regarding Single Pass Stereo (SPS). They were written in order to provide more information of how Single Pass Stereo is working and raise awareness about it’s problems. This is a shorter post compared to the previous two and it highlights the artifacts that SPS is producing in the G2 headset.
In the first post Single Pass Stereo: is it worth it?, I describe SPS at a high level, provide insights on how it works and discuss the advantages and disadvantages. Lastly, I will offer my opinion if it is worth implementing it.
In the second post Single Pass Stereo: wrong depth cues, discomfort and potential risks, I tackle the problem that SPS is having with certain Head Mounted Displays (HMDs), showing the problem in detail, providing actual code for anyone to test, why many games are shipped with it and what can be done to prevent it.
First of all, I would like to thank the reddit user u/Retzinsky for testing my SPS with OpenVR application with their HP Reverb G2 and providing me a recording of what is being rendered. Seeing the artifacts produced in this headset surely caught me by surprise because they are very different from what I’ve seen before. Below is the screen capture with the left and right eyes.
After a first inspection, we can observe that:
- Almost half of the eye has the wrong position. (because of the coexistence of red and white tints)
- There is a very distinct, constant-oriented line starting from the bottom left to the top right. Certain world positions have different tints when crossing this line. In 3D, this line is a plane that is hooked on the eye camera and moves with it.
- There are more similar planes whose orientation changes depending on how the head moves.
Unfortunately, I don’t have an explanation of why these planes exist but I can think of two things:
- The reported eye matrices (view and projection) are wrong. The eye matrices are reported from the headset driver to SteamVR and then to the application to be used for the rendering. This option is very unlikely because we would probably have more and stronger visual problems.
- The combination of the screen placement and the lenses is somewhat exotic and requires very specific view and projection matrices. This is the most likely scenario and I will update when I find anything.
Comparison with the Valve Index
Now, let’s see a comparison with the Valve Index artifacts (from the previous post) side by side. At the left side we can see the Valve Index and at the right side is the G2’s artifacts. If might take a bit to load, so please wait if you can’t see any images at first.
Comparing these two:
- A far bigger portion of the screen is at the wrong position in the G2.
- The artifacts are not as consistent as in the Index as the head moves.
- One cube face can be split in half where the one side is at the correct position and the other being wrong.
The last difference is what I consider as a real problem of Single Pass Stereo with the HP Reverb G2. The G2 artifact is splitting the faces with a subarea being correct and the rest being wrong. Having the whole face at wrong positions might not be too bad (although it is) because there is uniformity along the area of the face; either the whole face is wrong or not. This splitting behavior will introduce more discomfort when the user will try to focus on a split face because there will be stereo disparity that is not consistent. This inconsistency can be similar to a TV where the half of it is closer to us than the rest (which doesn’t exist in real life because it shouldn’t). Since the splitting depends on how the head is rotated, the disparity will change even with the small subconscious movements of the head and eyes, resulting in greater discomfort compared to the Index or headsets displaying similar SPS artifacts to the Index.
HP Reverb G2 seems to be a well built device for its price point but I wouldn’t buy it if I intended to play games or use applications that rely on Single Pass Stereo to run well on my setup.
Thank you for reading and have a Great New Year!