hmdq - ED Forums
 


Notices

Reply
 
Thread Tools Display Modes
Old 08-11-2019, 09:12 PM   #1
- Voight -
Member
 
Join Date: Feb 2019
Location: Rheinland-Pfalz, Germany
Posts: 197
Default hmdq

´hmdq´ is a small tool which reads out detailed values and figures of your HMD ( Head Mounted Display )

It could be downloaded for free:
https://github.com/risa2000/hmdq/releases

After downloading and unzipping, simply execute the application, while your headset is connected and running. ´hmdq´ now creates a log file.

Now open the Windows console ( Windows DOS-box ) navigate to the folder, where the hmdq.exe is and execute the hmdq.exe. It now shows in the DOS-box all relevant information of your HMD like in the screenshot attached ( which is the configuration of my P5k+ )

The interesting infos are the ´real´FOV settings of the HMD.

In next step I´ve copied the FOV values from hmdq to the stereo.lua in DCS and have overwritten the values for FOV left and right eye in the stereo.lua ( the ´stereo.lua´ located in

...\DCS\config\MonitorSetup\stereo.lua ) with the values from ´right eye head´ and ´left eye head´ of the hmdq dos-box.

Now, I don´t want to convince people - everyone has to trust his own eyes...
At this point I´m quite struggling to share my impression, but so far it seems that everything looked more right to me, with the exact FOV values. It´s difficult to describe. Most visible is the structure of the landscape, like small hills, big hills mountains, etc. Also I think the dimension of objects in relation to the distance from the viewing point is more correct... I would say it looks better with the real FOV values of your HMD, but again: everyone has to make an impression of his own.

Didn´t put it in the Pimax thread, as it works for every HMD and could be of interest especially for HP Reverb user, as the Reverb got an 1:1 ratio.

Edit: after editing the stereo.lua I would recommend to reboot your PC.
Attached Thumbnails
Click image for larger version

Name:	Screenshot (1).png
Views:	78
Size:	126.2 KB
ID:	215338  
__________________
i7 5820k @ 4.4 GHz | MSI X99A SLI Plus | MSI RTX 2080Ti | 32GB DDR4 G.Skill Ram | Samsung EVO 500GB SSD + Samsung EVO 1TB SSD| TM Warthog, TDC slew mod + T-50CM2 grip, T-50CM2 base, Extension | MFG Crosswind Pedals | Speedmaster Flight Seat | Soundblaster Z, Stereo Studio Speaker, 100Watt Subwoofer + Reckhorn Amplifier | Pimax 5k+

Last edited by - Voight -; 08-11-2019 at 09:18 PM.
- Voight - is offline   Reply With Quote
Old 08-12-2019, 11:59 PM   #2
JoeyJoJoJunior
Junior Member
 
Join Date: Feb 2019
Location: Ottawa, Canada
Posts: 97
Default

Can you be more specific exactly which lines you are editing. Not immediately obvious to me.
__________________
i7 6700k @ 4.6, Gigabyte Z170X-UD3, 32GB DDR4 2666, GTX 1070, Rift S | MS Sidewinder FFB2, TM TWCS Throttle, VKB T-Rudder
JoeyJoJoJunior is offline   Reply With Quote
Old 08-13-2019, 09:00 AM   #3
- Voight -
Member
 
Join Date: Feb 2019
Location: Rheinland-Pfalz, Germany
Posts: 197
Default

Open with an editor in windows administrator mode the ´stereo.lua´ located in

...\DCS\config\MonitorSetup\stereo.lua

exchange the default values in red with the ones with the ones you get from hmdq:

_ = function(p) return p; end;
name = _('Stereo');
Description = 'Stereo render two viewports for left and right eye respectivelly'
Viewports =
{
Left =
{
x = 0;
y = 0;
width = screen.width * 0.5;
height = screen.height;
viewDx = 0;
viewDy = 0;
aspect = screen.aspect / 2;
eye_shift = -0.032;
--tans of side angles
projection_bounds = {
left = -1.742,
right = 1.346,
top = 1.270,
bottom = -1.270,

}
},
Right =
{
x = screen.width * 0.5;
y = 0;
width = screen.width * 0.5;
height = screen.height;
viewDx = 0;
viewDy = 0;
aspect = screen.aspect / 2;
eye_shift = 0.032;
--tans of side angles
projection_bounds = {
left = -1.346,
right = 1.742,
top = 1.270,
bottom = -1.270,

}
}
}

UIMainView = {
x = 0;
y = 0;
width = screen.width;
height = screen.height;
}
GU_MAIN_VIEWPORT = UIMainView


What I am wondering about is, that the default values are so small like 1.xxx and the real values are much bigger like 50.xxx ...

I think the default values are kind of one-size-fits-for-all, what might have worked for the very first generation of VR headsets, but especially for the wide FOV HMD these values are off and need to be customized to reach the potential of your device and for proper graphical fidelity.

Here´s the sensitive part in trying to adjust the values:
Personally I only trust hard facts, things which could be measured at any time, every place, reproduced any time, every place or followed up any time, any place - but at this point we´re only dealing with perception, what is more subject of personal impression, than common hard fact.

But beside the one-size-does-not-fit-to-all compromise, there must be a technical explanation for the FOV and how off values it result in perception - I don´t have this technical explanation, but would think of kind off effect of magnification glasses, if the FOV is off set, respectively narrower than the physical limitations. In VR you don´t perceive the magnification effect, as you don´t have a negative to compare to the positiv.

After putting in the values from hmdq, me got the impression that the perception of depth in the image has become much more accurate and ´widely´ - the first flight in DCS with these values reminded me instantly of some TV documentation, where people fly at 500 ft. filming the ground.

Also before, I always fiddled around with the IPD settings in DCS, as the cockpits appeared to tiny, like filigree toy cockpits, so I have had used the IPD setting as a world scale to by lowering the IPD setting to get a more accurate image ( which has also negative sideffects ).

Maybe with regular FOV HMDs the effect of correcting the values is not that much perceiveable, than with a wide FOV HMD, but at least it should be better than the one-size-fits-for-all values.

Would be interesting to read if you could see a difference at all.

Edit:
openXR solves this problem, when it is implemented in the driver of the headsets ( Valve, Microsoft and Oculus already stated, that they will implement openXR ) and implemented into DCS world. DCS world would then directly interacts with the characteristics and specification of each specific headset to set up the right values for rendering and adjusting the images in VR.
__________________
i7 5820k @ 4.4 GHz | MSI X99A SLI Plus | MSI RTX 2080Ti | 32GB DDR4 G.Skill Ram | Samsung EVO 500GB SSD + Samsung EVO 1TB SSD| TM Warthog, TDC slew mod + T-50CM2 grip, T-50CM2 base, Extension | MFG Crosswind Pedals | Speedmaster Flight Seat | Soundblaster Z, Stereo Studio Speaker, 100Watt Subwoofer + Reckhorn Amplifier | Pimax 5k+

Last edited by - Voight -; 08-13-2019 at 09:14 AM.
- Voight - is offline   Reply With Quote
Old 08-13-2019, 04:48 PM   #4
kega76
Junior Member
 
Join Date: Dec 2018
Posts: 29
Default

Where exactly in the hmdq file did you pick these values (which values?)? I get a lot of different values, but they doesn't directly translate to this LUA file.
kega76 is offline   Reply With Quote
Old 08-13-2019, 05:29 PM   #5
- Voight -
Member
 
Join Date: Feb 2019
Location: Rheinland-Pfalz, Germany
Posts: 197
Default

The values are not in the log file. You have to execute hmdq.exe via an I/O system like windows console and then hmdq returns the specific values of your headset into the console ( in former times we named it the Dos-Box of Windows ).

I could imagine that nowatimes people are not used to handle console inputs.

If you are still interested in this and google couldn´t help, please give a sign and I´ll try to support you getting the values of your headset, but you have to find and identify the windows console first to browse to the directory, where you have copied the hmdq folder and its .exe.
__________________
i7 5820k @ 4.4 GHz | MSI X99A SLI Plus | MSI RTX 2080Ti | 32GB DDR4 G.Skill Ram | Samsung EVO 500GB SSD + Samsung EVO 1TB SSD| TM Warthog, TDC slew mod + T-50CM2 grip, T-50CM2 base, Extension | MFG Crosswind Pedals | Speedmaster Flight Seat | Soundblaster Z, Stereo Studio Speaker, 100Watt Subwoofer + Reckhorn Amplifier | Pimax 5k+
- Voight - is offline   Reply With Quote
Old 08-13-2019, 06:23 PM   #6
kega76
Junior Member
 
Join Date: Dec 2018
Posts: 29
Default

Hi and thanks for helping. I did do the cmd and got the values. However I got several values that wasn’t even close to the ones in the LUA. Also there were several for left and then for right. However, I did write in what I thought was correct, so for left eye (left, right, to and bottom) and same for right. I had like left -43.xx right 43.xx etc.

I fired up DCS and did a test run. Didn’t see a immediate difference but I didn’t test it for long. I have the Reverb and have had a sensation of eyes swimming a bit in DCS, not X-plane, and maybe this might fix it. Also it stated that the IPD was 65.

Am I in the ballpark here?
kega76 is offline   Reply With Quote
Old 08-13-2019, 07:36 PM   #7
- Voight -
Member
 
Join Date: Feb 2019
Location: Rheinland-Pfalz, Germany
Posts: 197
Default

Yes, me too wondering why the lua values are so much different. Have you restarted your system after you´ve edited the .lua? I think it´s necessary, as windows mixed reality for steamvr need to be restarted, respectively openVR of steamVR, which connects to openVR within DCS.

Yes, it´s the values for left eye: left, right bottom, top and the same for the right eye - I´ve took the values from hmdq, right eye head and left eye head. Don´t know if there´s a difference to the values hmdq, left eye raw/right eye raw.

Yeah, me too didn´t long time test and back and forth test etc. but got the impression that these values work much better for me with the P5k+ in normal FOV mode ( approx 150° horizontal FOV ).

If you don´t see a difference on first view, first means that there´s nothing gone completely wrong by editing.

The first thing which came to my eyes was a less flat landscape - mountains appeared more massive ( and more real ). Take a flight close to the caucasus mountain area and especially if your observation into the depth of the picture has been slightly changed. Maybe it does not at all, maybe only so slightly that it is not so much perceivable with a narrow FOV, maybe I´m nuts and talking s***.

So far I like these new settings - looks better to me, but need to do some more flights and have a look for a viewpoint, which obviously changed to a better more natural perspective from the viewport settings before.

Would be glad, if you would share your impression after some more flights even, when there has nothing changed.
__________________
i7 5820k @ 4.4 GHz | MSI X99A SLI Plus | MSI RTX 2080Ti | 32GB DDR4 G.Skill Ram | Samsung EVO 500GB SSD + Samsung EVO 1TB SSD| TM Warthog, TDC slew mod + T-50CM2 grip, T-50CM2 base, Extension | MFG Crosswind Pedals | Speedmaster Flight Seat | Soundblaster Z, Stereo Studio Speaker, 100Watt Subwoofer + Reckhorn Amplifier | Pimax 5k+
- Voight - is offline   Reply With Quote
Old 08-13-2019, 08:36 PM   #8
kega76
Junior Member
 
Join Date: Dec 2018
Posts: 29
Default

Hi, so now I've done several flights after a restart. It's hard to really say that something is improved, but it didn't degrade anything for sure. I don't have that eye strain for sure, but that could have been a steam or WMR software upgrade.

I will definately stick With this now for a while and test it some more. With the Reverb it's just crisp, crystal clear now, I love it! I'm pasting my settings below just for reference to others. Thanks again for posting this!

Left =
{
x = 0;
y = 0;
width = screen.width * 0.5;
height = screen.height;
viewDx = 0;
viewDy = 0;
aspect = screen.aspect / 2;
eye_shift = -0.032;
--tans of side angles
projection_bounds = {
left = -47.38,
right = 43.62,
top = 45.42,
bottom = -44.82,
}
},
Right =
{
x = screen.width * 0.5;
y = 0;
width = screen.width * 0.5;
height = screen.height;
viewDx = 0;
viewDy = 0;
aspect = screen.aspect / 2;
eye_shift = 0.032;
--tans of side angles
projection_bounds = {
left = -43.60,
right = 47.63,
top = 45.24,
bottom = -45.13,
kega76 is offline   Reply With Quote
Old 08-13-2019, 09:37 PM   #9
- Voight -
Member
 
Join Date: Feb 2019
Location: Rheinland-Pfalz, Germany
Posts: 197
Default

That´s great! Also got the impression that the SDE had become a little more visible - I usually don´t see any SDE in the P5k+, but after your comment, it could be also an indication of a more clear and crisp image... need to put more attention to this.

When I got more time, I will make some before/after screenshot with the steamVR mirror.

After every DCS update, the edited stereo.lua will be overwritten with the default stereo.lua.
Having a copy of the edited values to put in again after every DCS update is recommendable.
__________________
i7 5820k @ 4.4 GHz | MSI X99A SLI Plus | MSI RTX 2080Ti | 32GB DDR4 G.Skill Ram | Samsung EVO 500GB SSD + Samsung EVO 1TB SSD| TM Warthog, TDC slew mod + T-50CM2 grip, T-50CM2 base, Extension | MFG Crosswind Pedals | Speedmaster Flight Seat | Soundblaster Z, Stereo Studio Speaker, 100Watt Subwoofer + Reckhorn Amplifier | Pimax 5k+
- Voight - is offline   Reply With Quote
Old 08-14-2019, 09:27 AM   #10
Baldrick33
Junior Member
 
Join Date: Jun 2019
Posts: 60
Default

The figures in the lua file are tangents. The figures out of hmdq are in degrees. Hence the difference.


I tied entering the values from vrcmd which I think are the same as the lua but didn't see any difference
Baldrick33 is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT. The time now is 01:59 AM. vBulletin Skin by ForumMonkeys. Powered by vBulletin®.
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.