catid/XRmonitors

Camera pass-through offset

Opened this issue ยท 12 comments

The cameras in the WMR headset are not aligned so there is not stereo effect for the pass-through. There is several degrees of vertical offset between cameras. Program should have the ability to adjust offset between cameras, probably offsetting one up while the other one offsets down.
Also, the horizontal distance between projections should be adjustable in equal amounts so the scale matches more closely human IPD

catid commented

Interesting. I had done this by hand for all of the WMR headsets on the market except for a Fujitsu one in Japan. I'm going to have to prioritize adding a camera calibration sheet you can use to automatically fix the camera offsets!

catid commented

If you want to experiment with changing the settings until this is completed, they are located here:

"C:\Program Files\XRmonitors\camera_calibration.ini"

catid commented

Just a warning: This is a good way to give yourself a major headache ;)

catid commented

It seems like the best approach would be to use the calibration data from the headset as in OpenHMD: https://github.com/OpenHMD/OpenHMD/blob/master/src/drv_wmr/wmr.c

By hand :) I hope you had some sliders and update in real-time. For me on Reverb setting RightOffsetY to 0 aligned it, but since your's was that much off I assume each camera is different. So I guess either each HMD stores somewhere the calibration settings, or it is done on the fly by driver. Also at Scale 2.1 everything is perfectly aligned for me (looking at the random point in space I can put on the HMD and it would be at the same location without changing eye vergence)

[HP Reverb]
K1=-0.7
Scale=2.1
OffsetX=0.234
OffsetY=-0.195
RightOffsetY=0.0
EyeCantX=-0.342004
EyeCantY=-0.511996
EyeCantZ=0
catid commented

Haven't gotten back to this project in a while. Last time I looked at this problem, I couldn't find a way to read the calibration data from the headset while it was in use. Going to try to do it via the injected DLL next chance I get.

I have a Reverb 2. Do you have any settings for this particular headset?

I think there can't be universal settings as it is impossible to make a pixel-perfect camera positioning and rotation in manufacturing (I have build my own stereoscopic cameras - it is impossible to make two cameras positioned in exactly same way relative to one another). Quest aligns the stereo-pass-through in software. Whatever you do, you will need to manually adjust every parameter. Start with mine and see what needs to be changed.

I am having problems with the reverb 2 as it shows all 4 cameras. I need to be able to disable the side cameras.
BTW have any of you looked into the Lynx headset. I just backed the project and would most definitely like something like this on the headset.
https://www.kickstarter.com/projects/stanlarroque/lynx

I am having the same issue with ReverbG2. All 4 cameras show and it makes it very hard to adjust the offsets. Any way around this? I would love to use this application. Actually, I argue that out of WMR headsets, ReverbG2 is the first one to truly be of high enough resolution for this application to be very useful.

catid commented

Oh interesting about Reverb G2. I actually have one of these headsets on my desk and could work more on adding support.

I've ordered a Lynx headset and will definitely make a stab at some kind of desktop-on-headset type experience. It's what I've been wanting for years!

I have just discovered this software and it looks really promising!

+1 with the G2, I am seeing 4 images all overlapping. It doesn't seem the .ini has enough controls to resolve it.