Domain: strlen.com
Stories and comments across the archive that link to strlen.com.
Comments · 7
-
The point of Rift is COTS
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. -
Re:"Fun features"?
Ok, now I have read a bit about Lobster style. I looks fun, too.
Unfortunately, it uses indentation to define blocks, like Python, which ruins it for me.
-
Re:The Linux Exception
Fair point about derivative works, but that's still extrinsic to the license, and you'd have to pay a lawyer to prove it. Ask IBM.
"Compiling in" is not vague at all though, at least in the context of a C/C++ compiler. "Header files" have no meaning to the compiler - it's all just source, regardless of which top level module caused it to be included verbatim. [citation]
-
The issue is the projection
Most 3D games won't let you set the FOV to 180 degrees, since it's impossible using flat (pinhole?) projection that most of them use. This choice of projection is also why things look so distorted at the edges of the screen with a high FOV, and is why objects that are near you appear larger than objects in front of you, even when they're the same distance away, among other visual quirks. In order to show such a wide angle (approaching 180 degrees or above), you'd need to use a projection that's not limited to showing objects on one side of a plane, such as fisheye projection. This isn't normally done because it's technically simpler to do 3D rendering when straight lines in the world correspond to straight lines on the screen (that's the simplified explaination).
See this page for a visual comparison. -
The issue is the projection
Most 3D games won't let you set the FOV to 180 degrees, since it's impossible using flat (pinhole?) projection that most of them use. This choice of projection is also why things look so distorted at the edges of the screen with a high FOV, and is why objects that are near you appear larger than objects in front of you, even when they're the same distance away, among other visual quirks. In order to show such a wide angle (approaching 180 degrees or above), you'd need to use a projection that's not limited to showing objects on one side of a plane, such as fisheye projection. This isn't normally done because it's technically simpler to do 3D rendering when straight lines in the world correspond to straight lines on the screen (that's the simplified explaination).
See this page for a visual comparison. -
Re:Cube?
Or Sauerbraten: http://strlen.com/sauerbraten/
-
UH, GRRR, Bla, Ni!, Blerk, False, Kartoffel etc.Oh, the history is also missing some languages from Wouter van Oortmerssen:
http://strlen.com/proglang/index.html
If nothing else, his languages have cool names!