Improved Image Quality For HMDs Like Oculus Rift
An anonymous reader writes "The combination of smartphone panels with relatively cheap and light-weight lenses enabled affordable wide-angle Head Mounted Displays like the Oculus Rift. However, these optics introduce distortions when viewing the image through the HMD. So far these have been compensated for in software by using post-processing pixel shaders that warp the image. However, by doing so a loss in image quality (sharpness) can be perceived. Now researchers from Intel found a way around this error by using different sampling for rendering, therefore potentially increasing the image quality of all current and future HMDs with a wide field of view."
Rather than applying barrel distortion to the final raster image, the researchers warp the scene geometry during rasterization. However, it currently requires ray tracing so it's a bit computationally expensive. Note that a vertex transformation can be used (with tessellation used to enhance the approximation), but the results are of variable quality.
Way over my head but isn't rendering at a higher res so that the final result looks good no matter the warping better than ditching all the 3d engines work and use raytracing?
Oculus Rift is one of the greatest products ever, and Ima let you finish, but this is even better for multi-monitor gaming.
At least Oculus Rift had identified and addressed the problem of distortion, even though their solution loses image quality. Multi-monitor gaming has been garbage for a decade because everyone seems content with horrific distortion at large FOVs.
I know, it's all a matter of screen placement and eye positioning. That's dumb. I want a wrap-around image. I want to aim a projector at each of three walls and have the result make sense.
If you've tried Fisheye Quake, you know it's hell on your system, and still doesn't look great. If this technique is at all performance, everyone needs to start shipping with support, and they need to start yesterday.
How about you use better lenses so you don't have distortions in the first place?
Stop trying to fudge shit in software. It doesn't work with projectors with shitty lenses, telescopes with shitty lenses, or camera phones with shitty lenses.
If you want a good image use good optics. Yes, that means added cost and weight. Deal with it.
Hi,
Can't one just subdivide (tesselate) polygons that appear relatively large in screen space so that they consist of many small polygons, with a few pixels each? This would allow for doing the barrel distortion entirely in the vertex shader with no ray tracing being required. The challenge is to perform the dynamic tesselation without requiring a constant updating of the geometry (vertex buffers) on the GPU.
Maybe newer APIs like DirectX10 or 11 would support this dynamic tesselation approach in hardware.
--- Eat my sig.
Isn't this the ideal use case for Samsung and LG's new bendable displays? Why use software to do the bending at all?
They will need to supply a large bottle of asprin with every one of these things.
And I cant wait to see the lawsuits that are going to result.
Likely the Repetative Stress Disrder cases from the smartphone keypressing will probably happen first.
That's the last line of TFS. Tessellating the mesh so that triangles are approximately the size of a pixel is nearly as costly as raytracing, though.
From TFA (emphasis added):
My first thought was "Why not use better quality lenses?" Sure, they'd be more expensive, but there is an expense involved in the software having to correct Every Single Frame. Why not fix it once, at the source, and obviate the need for continuous real-time updates?
But my next thought was more positive. I wear glasses (near-sighted and have astigmatism, too). It would be *so* nice if there were a way to correct for that in software so I could wear VR goggles without my glasses. I'd imagine a learning session where certain scenes (e.g. grids) are displayed and the system would apply software corrections under my control until it looked good to me. That could be saved as a profile and then be loaded whenever I used their VR display.
The next step, of course, would be to find a way to leverage this "training" into my next eye exam!
There have always been those who have advocated doing the warp before the fragment shading but it is simply a bad idea with minimal benefits.
You can always oversample the render to texture if image quality is a problem and you get the added bonus of additional antialiasing.
The reality is that most 3D graphics sample beyond the Nyquist frequency and this is the root of the problem with resampling. Texture
hardware filtering on an oversampled render is a good solution.
Raytracing is not rasterization, and non linear rasterization is not easily optimized in hardware. It is a phenomenally bad idea.
Other approaches have used subdivision geomety but that suffers from performance issues and piecewise approximation.
So they've taken something with variable quality and improved it by implementing a solution that itself has variable quality with the downside that it's horrendously expensive to render.
Brilliant.
My first thought was "Why not use better quality lenses?" Sure, they'd be more expensive, but there is an expense involved in the software having to correct Every Single Frame.
The idea behind the Rift is to produce a HMD that does NOT cost 1'300$ to build.
It does this by using cheap of-the-shelf parts.
Whereas things like the "eMagin Z800 3D Visor" use special purpose display units (OLEDs) and needs very spetial complex optics so that the virtual display seems square (at 60%, it was one of the widest field of view at its time), Occulus went:
- Fuck this expensive shit, lets use the same Retina-level display as any other smartphone on the market, and throw a rather simple len at it. Okay, maybe having a complete field of view with a simple len will cause distortions, but that's nothing that wouldn't be possible to compensate. And gamers already have an expensive powerful graphic card. Running a shader on it to correct the rendered frame would be very cheap and barely introduce any noticeable slow down.
The Occulus doesn't use an expensive optic *on purpose* so its price has a zero less than anything else.
TFA's method is slow because they analyse what distortion should be done to the actual game world's geometry so that it renders pre-distorted. (So that the distortion is pixel pefrect, each pixel in the output is a rendered pixel. Whereas the current "fast" method simply distords a rendered frame, thus post-distortion rendered pixel don't map display pixels). And they do it with raytracing, because that's the easiest to test, even if it is the slowest.
As the summary sais, in-game that could be done with tesselation and geometry shader.
(And has been done in part in the past: Fish-eye Quake does similar kind of distortions, too)
So, in the end, a small contribution by shaders still beats expensive complex optics, just for now they'll model it with a raytracer because it's easier to study.
I wear glasses (near-sighted and have astigmatism, too). It would be *so* nice if there were a way to correct for that in software so I could wear VR goggles without my glasses.
The bad news is that your problem can't be fixed in software. You're near-sighted + astigma, meaning that your eye fails to focus on the picture (and can't focus on a single point at all, actually). Software fixes are for distortion, meaning that the eye is capable of focusing on a pixel, but it gets the wrong pixel in that position.
The type of eye-sight problem that *could* be fixed in software is eye-mobility problems, where on of the eye isn't able to focus in the correct directions and thus gets "shifted" view, giving a doubled picture. This kind of problems are fixed with "prismatic" type of lens, this kind of problem could be fixed by shifting the image on the Rift in opposite direction.
The good news is:
Well read again the first paragraph: Rift use plain simple cheap lens. Just swap the lens with another set of cheap lens which are adapted to your near-sightness and voilà, glass-free 3D.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
...Or worse, with bifocals?
When something like this becomes available, it'd be awesome even if it was only used for watching a movie on an airplane, but I worry it would be worthless for people who have an eyeglasses prescription.
"relatively cheap and light-weight lenses"
Use better optics in the first place.
This is a much better system in my opinion.
http://www.kickstarter.com/projects/technicalillusions/castar-the-most-versatile-ar-and-vr-system
I think this new approach to 3D, VR and AR is going to make the article subject obsolete.
http://www.kickstarter.com/projects/technicalillusions/castar-the-most-versatile-ar-and-vr-system