Re-Add color overlay (#311)

* fixed Chaperone toggle, toggle state on launch

* made update rates based on variable frame rate assuming 90 default

* added overlay color back in

* fixed opacity value not synching

* updated to ovr 1.8.19

* fixed license issue

* rolled back ovr update

* fixed overlay toggle state, formatting, and clamped max opacity to .85%
This commit is contained in:
ykeara
2019-11-08 14:45:26 -06:00
committed by GitHub
parent b148a3d6de
commit 05c12cd4a0
24 changed files with 866 additions and 105 deletions
+41
View File
@@ -0,0 +1,41 @@
#include "FrameRateUtils.h"
#include <easylogging++.h>
namespace utils
{
/* Adjusts update rate for event loop ticks so that regardless of ticks we
* maintain the approximate same time value for the updates, if Key is not set
* in SteamVR we assume HMD is @ 90 hz
* */
unsigned int adjustUpdateRate( const unsigned int baseRefreshKey )
{
double updateRate;
vr::EVRSettingsError vrSettingsError;
updateRate = static_cast<double>(
vr::VRSettings()->GetInt32( vr::k_pch_SteamVR_Section,
vr::k_pch_SteamVR_PreferredRefreshRate,
&vrSettingsError ) );
if ( vrSettingsError != vr::VRSettingsError_None )
{
LOG( WARNING ) << "Could not read \""
<< vr::k_pch_SteamVR_PreferredRefreshRate
<< "\" setting: "
<< vr::VRSettings()->GetSettingsErrorNameFromEnum(
vrSettingsError );
return baseRefreshKey;
}
// Assume Base 90 hz Refresh
double multiplier = updateRate / 90.0;
unsigned int adjustedRefreshKey = static_cast<unsigned int>(
static_cast<double>( baseRefreshKey ) * multiplier );
if ( adjustedRefreshKey < 45 )
{
return baseRefreshKey;
}
return adjustedRefreshKey;
}
} // end namespace utils