Forum Discussion
Grix
13 years agoHonored Guest
Can someone view this pictures in their rift
I plan to use the rift for FPV flying, but I didn't have the patience to wait for my kit to arrive, so I started setting everything up first. But I need someone to try to view these stills from within the rift to see if they are properly compatible. Three things I want to know:
Do they converge properly with eyes focused to infinity? Especially for image #2, I modified the warp-params to tune down the warping because the camera already have a fish eye lens and also reduced the size a bit, but this may have made it unviewable.
Is the text overlay readable?
How is the image quality? Obviously it's not great, but do you think it's at least acceptable? If not, perhaps I need to look into different capture cards or camera..
Here are the stills:
http://i.imgur.com/nMW3Lb3.jpg Warp-params: 1,0.22,0.24,0
http://i.imgur.com/nOj1fZi.jpg 2,0.11,0.12,1 (IIRC)
Try this new one here: http://i.imgur.com/rlve0P4.jpg
If everything turns out to be a-ok, I will post a proper tutorial soon on how to fly fpv with the rift, but in short, get an RCA capture card, a customizable OSD module like minimosd, and use this program: https://github.com/karai17/oculus-rift-webgl-stereo-cam In case you are wondering about the latency, it's decent but not perfect, maybe 0.2-0.3 seconds in total. But I think some of this is my camera's fault, because I have noticed some latency even when just outputting straight to the TV.
Here are the stills:
http://i.imgur.com/nOj1fZi.jpg 2,0.11,0.12,1 (IIRC)
Try this new one here: http://i.imgur.com/rlve0P4.jpg
If everything turns out to be a-ok, I will post a proper tutorial soon on how to fly fpv with the rift, but in short, get an RCA capture card, a customizable OSD module like minimosd, and use this program: https://github.com/karai17/oculus-rift-webgl-stereo-cam In case you are wondering about the latency, it's decent but not perfect, maybe 0.2-0.3 seconds in total. But I think some of this is my camera's fault, because I have noticed some latency even when just outputting straight to the TV.
11 Replies
- SDMExplorerNeither converge at fullscreen native res, well off/not usable. Zooming out/reducing #2 though (only one I tried real quick), things come together comfortably/nicely, but a lot of wasted pixels/black around view.
This is a topic of interest to me, not had a chance to spend any time on it yet, wish you good luck in perfecting. - geekmasterProtegeThere is a lot of talk about this in multiple threads at MTBS3D (and at least one recently active dedicated thread). No success has been reported yet. The problem is with the partial overlap, which requires bringing the image centers closer together. You can do that by cropping the image inner edges, or by shrinking and centering the image pair.
- GrixHonored Guest
"geekmaster" wrote:
There is a lot of talk about this in multiple threads at MTBS3D (and at least one recently active dedicated thread). No success has been reported yet. The problem is with the partial overlap, which requires bringing the image centers closer together. You can do that by cropping the image inner edges, or by shrinking and centering the image pair.
I know about the fpv threads on mtbs3d, I started one of them. :)
The thing I don't understand is why these images, especially the first one, does not converge. I use the official warp params.. (1, 0.22, 0.24, 0)
The two raw images are identical, do I have to use different params then?
If you have a webcam, can you try using the program yourself and see if it converges then: http://bitlasers.com/riftfpv - GrixHonored GuestOk, used a different program, does this work better? http://i.imgur.com/rlve0P4.jpg
- geekmasterProtege
"Grix" wrote:
I do not have my rift connected right now. Those images look fully-overlapped (cross-eye viewed), so probably will NOT work in the Rift. They need to look more like screenshots from the Tuscany demos (especially the cropped inner edge of the images).
Ok, used a different program, does this work better? http://i.imgur.com/rlve0P4.jpg - GrixHonored Guest
"geekmaster" wrote:
"Grix" wrote:
I do not have my rift connected right now. Those images look fully-overlapped (cross-eye viewed), so probably will NOT work in the Rift. They need to look more like screenshots from the Tuscany demos (especially the cropped inner edge of the images).
Ok, used a different program, does this work better? http://i.imgur.com/rlve0P4.jpg
Do you know the proper shader settings? I don't understand why these images doesn't work, they are made using unmodified programs by people who I assume already have their rifts and have tested their programs before releasing them, but somehow it doesn't work out of the box. Here are the current shaders:
fshadervarying vec3 vColor;
varying vec2 uv;
uniform sampler2D tex;
uniform vec2 resolution;
vec4 HmdWarpParam = vec4(1, 0.22, 0.24, 0.0f);
void main(void)
{
float x;
float y;
float rSq;
vec2 theta = vec2(x,y);
theta.x = gl_FragCoord.x / resolution.x * 2.0;
theta.y = gl_FragCoord.y / resolution.y;
if(gl_FragCoord.x > resolution.x / 2.0)
theta.x -= 1.0;
theta.x -= 0.5;
theta.y -= 0.5;
rSq = theta.x*theta.x + theta.y*theta.y;
vec2 rvector;
rvector = theta * (HmdWarpParam.x + HmdWarpParam.y*rSq + HmdWarpParam.z * rSq * rSq + HmdWarpParam.w * rSq * rSq * rSq);
x = rvector.x;
y = rvector.y;
rvector.x+=0.5;
rvector.y+=0.5;
rvector.y = 1.0-rvector.y;
if(rvector.x >= 0.0 && rvector.y >= 0.0 && rvector.x <= 1.0 && rvector.y <= 1.0) {
gl_FragColor = texture2D(tex, rvector);
}
else {
// red
gl_FragColor = vec4(0.0,0.0,0.0,1.0);
}
}
vshaderattribute vec3 vertex;
attribute vec3 normal;
attribute vec2 uv1;
uniform mat4 _mvProj;
uniform mat3 _norm;
uniform float _time;
varying vec2 uv;
varying vec3 vColor;
#pragma include "light.glsl"
// constants
vec3 materialColor = vec3(1.0,0.7,0.8);
vec3 specularColor = vec3(1.0,1.0,1.0);
void main(void) {
// compute position
gl_Position = _mvProj * vec4(vertex, 1.0);
uv = uv1;
// compute light info
vec3 n = normalize(_norm * normal);
vec3 diffuse;
float specular;
float glowingSpecular = sin(_time*0.003)*20.0+20.0;
getDirectionalLight(n, _dLight, glowingSpecular, diffuse, specular);
vColor = max(diffuse,_ambient.xyz)*materialColor+specular*specularColor;
} - GrixHonored GuestI messed around in the shader and I got the two images closer together.. Did that by any chance help?
If it's better but still not quite there, that's good because adjusting the distance more precisely wouldn't be a problem I guess.
http://i.imgur.com/dBzH6wI.jpg - geekmasterProtege
"Grix" wrote:
I messed around in the shader and I got the two images closer together.. Did that by any chance help?
If it's better but still not quite there, that's good because adjusting the distance more precisely wouldn't be a problem I guess.
Yes, this one looks good in my Rift.
The text to the left of "STAB" in the above image is all visible in my peripheral vision while looking forward, but when I roll my eyes left to look directly at it, the lens edges block my view of everything left of "STAB". I can read text in my peripheral view if it is large enough, but small details are lost.
It should be safe to assume from this image that anything displayed only on one side of the image pair is visible only in your peripheral vision, and not when you try to look directly at it (which would need wider lenses). And people who do not have their eyelashes brushing the A-cup lenses will have an even smaller FoV, making more of the peripheral pixels not visible to them.
Can you adjust your OSD to center the text bounding box?
EDIT: Now that my Rift is connected, I viewed the PREVIOUS images, and they did not work in my Rift, confirming my suspicions (not partial overlap). Your newest image edited into your first post is still full-overlap SBS, and it does NOT work. Only the image in your newest post works in my Rift. - GrixHonored GuestFantastic! Is the separation perfect or does it need a little fine tuning? I guess this would depend on the IPD anyway though.
The OSD is fully customizable, I can move the text around freely. I tried to cram the data relatively close to the center of the image when I made those screenshots, should they be even more centered? The outermost text like the one next to "STAB" is not important, it's static anyway. I plan to have three panels: One filled with data like the screenshot, one with minimal data, like only the compass needle and battery voltage, and one with the OSD turned off. One can switch between the modes using the RC radio.
If the peripheral vision is not visible, do you think it would be better to reduce the image size a bit, so that one can just about see the black bars in the rift? I guess being able to view as much of the image as possible would be important in FPV. - geekmasterProtege
"Grix" wrote:
Fantastic! Is the separation perfect or does it need a little fine tuning? I guess this would depend on the IPD anyway though.
...
If the peripheral vision is not visible, do you think it would be better to reduce the image size a bit, so that one can just about see the black bars in the rift? I guess being able to view as much of the image as possible would be important in FPV.
The separation looks fine for me, but I would play with the adjustments just to see what effect it has on the perception of relative size and distance.
If that edge stuff is static, then no need to shift the OSD right. It is visible while looking forward, so stuff at the edges should probably blink or change color to get your attention.
If you can, reducing the size would make it work better for many people who are using a much smaller FoV with their choice of Rift lenses and eye distance from those lenses. With a reduced size, you may be able to use more image overlap as well. But for ME, I want the larger size, so perhaps a size adjustment should be a user-selectable option.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 2 years ago
- 3 years ago
- 3 years ago
- 3 months ago