Fix possible startup issue on WMR (#160)
* Add more checks for zero quads count for WMR * Delay initial zeroOffsets() to init stage2 * Re-add OpenVR 1.3.22 libraries
This commit is contained in:
@@ -420,7 +420,6 @@ void OverlayController::SetWidget( QQuickItem* quickItem,
|
||||
|
||||
m_steamVRTabController.initStage2( this, m_pWindow.get() );
|
||||
m_chaperoneTabController.initStage2( this, m_pWindow.get() );
|
||||
m_moveCenterTabController.initStage2( this, m_pWindow.get() );
|
||||
m_fixFloorTabController.initStage2( this, m_pWindow.get() );
|
||||
m_audioTabController.initStage2( this, m_pWindow.get() );
|
||||
m_statisticsTabController.initStage2( this, m_pWindow.get() );
|
||||
@@ -428,6 +427,7 @@ void OverlayController::SetWidget( QQuickItem* quickItem,
|
||||
m_reviveTabController.initStage2( this, m_pWindow.get() );
|
||||
m_utilitiesTabController.initStage2( this, m_pWindow.get() );
|
||||
m_videoTabController.initStage2( this, m_pWindow.get() );
|
||||
m_moveCenterTabController.initStage2( this, m_pWindow.get() );
|
||||
}
|
||||
|
||||
void OverlayController::OnRenderRequest()
|
||||
|
||||
@@ -131,7 +131,6 @@ void MoveCenterTabController::initStage1()
|
||||
settings->endGroup();
|
||||
m_lastDragUpdateTimePoint = std::chrono::steady_clock::now();
|
||||
m_lastGravityUpdateTimePoint = std::chrono::steady_clock::now();
|
||||
zeroOffsets();
|
||||
}
|
||||
|
||||
void MoveCenterTabController::initStage2( OverlayController* var_parent,
|
||||
@@ -139,6 +138,7 @@ void MoveCenterTabController::initStage2( OverlayController* var_parent,
|
||||
{
|
||||
this->parent = var_parent;
|
||||
this->widget = var_widget;
|
||||
zeroOffsets();
|
||||
}
|
||||
|
||||
void MoveCenterTabController::outputLogPoses()
|
||||
@@ -961,7 +961,13 @@ void MoveCenterTabController::updateSeatedResetData()
|
||||
emit offsetYChanged( m_offsetY );
|
||||
emit offsetZChanged( m_offsetZ );
|
||||
emit rotationChanged( m_rotation );
|
||||
parent->chaperoneUtils().loadChaperoneData( false );
|
||||
unsigned checkQuadCount = 0;
|
||||
vr::VRChaperoneSetup()->GetWorkingCollisionBoundsInfo( nullptr,
|
||||
&checkQuadCount );
|
||||
if ( checkQuadCount > 0 )
|
||||
{
|
||||
parent->chaperoneUtils().loadChaperoneData( false );
|
||||
}
|
||||
}
|
||||
|
||||
void MoveCenterTabController::updateChaperoneResetData()
|
||||
@@ -1024,7 +1030,13 @@ void MoveCenterTabController::updateChaperoneResetData()
|
||||
}
|
||||
}
|
||||
|
||||
parent->chaperoneUtils().loadChaperoneData( false );
|
||||
unsigned checkQuadCount = 0;
|
||||
vr::VRChaperoneSetup()->GetWorkingCollisionBoundsInfo( nullptr,
|
||||
&checkQuadCount );
|
||||
if ( checkQuadCount > 0 )
|
||||
{
|
||||
parent->chaperoneUtils().loadChaperoneData( false );
|
||||
}
|
||||
}
|
||||
|
||||
void MoveCenterTabController::applyChaperoneResetData()
|
||||
@@ -1043,7 +1055,13 @@ void MoveCenterTabController::applyChaperoneResetData()
|
||||
|
||||
vr::VRChaperoneSetup()->CommitWorkingCopy( vr::EChaperoneConfigFile_Live );
|
||||
|
||||
parent->chaperoneUtils().loadChaperoneData( false );
|
||||
unsigned checkQuadCount = 0;
|
||||
vr::VRChaperoneSetup()->GetWorkingCollisionBoundsInfo( nullptr,
|
||||
&checkQuadCount );
|
||||
if ( checkQuadCount > 0 )
|
||||
{
|
||||
parent->chaperoneUtils().loadChaperoneData( false );
|
||||
}
|
||||
}
|
||||
|
||||
// START of drag bindings:
|
||||
@@ -1760,7 +1778,13 @@ void MoveCenterTabController::saveUncommittedChaperone()
|
||||
vr::VRChaperoneSetup()->CommitWorkingCopy(
|
||||
vr::EChaperoneConfigFile_Live );
|
||||
m_chaperoneCommitted = true;
|
||||
parent->chaperoneUtils().loadChaperoneData( false );
|
||||
unsigned checkQuadCount = 0;
|
||||
vr::VRChaperoneSetup()->GetWorkingCollisionBoundsInfo(
|
||||
nullptr, &checkQuadCount );
|
||||
if ( checkQuadCount > 0 )
|
||||
{
|
||||
parent->chaperoneUtils().loadChaperoneData( false );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2240,7 +2264,10 @@ void MoveCenterTabController::updateSpace()
|
||||
|
||||
// loadChaperoneData( false ), false so that we don't load live data, and
|
||||
// reference the working set instead.
|
||||
parent->chaperoneUtils().loadChaperoneData( false );
|
||||
if ( m_collisionBoundsCountForReset > 0 )
|
||||
{
|
||||
parent->chaperoneUtils().loadChaperoneData( false );
|
||||
}
|
||||
|
||||
m_oldOffsetX = m_offsetX;
|
||||
m_oldOffsetY = m_offsetY;
|
||||
|
||||
Vendored
+12
-69
@@ -1,70 +1,13 @@
|
||||
# OpenVR Samples: CMake build guide.
|
||||
|
||||
## Support
|
||||
|
||||
| Configuration | 32 | 64 |
|
||||
| ----------------------- |:---------:|----------:|
|
||||
| GNU/Linux (gcc 4.8+) | OK | OK |
|
||||
| Windows (msvc 12) | OK | OK |
|
||||
| OSX (clang) | ~ | ~ |
|
||||
|
||||
|
||||
## Dependencies
|
||||
|
||||
* Qt 5.x
|
||||
* GLEW 1.11+
|
||||
* SDL2
|
||||
* OpenVR
|
||||
|
||||
The only general external dependency is Qt5.<br/>
|
||||
On GNU/Linux, you will need GLEW 1.11 (available on most package manager).<br/>
|
||||
On Windows x64, you will need the SDL2 runtime library.
|
||||
|
||||
## Build
|
||||
|
||||
**Important:**<br/>
|
||||
*you might need to specify Qt5 cmake module path manually when generating the cache for the first time using the __CMAKE_PREFIX_PATH__ macro (see examples below).*
|
||||
|
||||
We will use the command-line on Unix and [Git Bash](https://git-for-windows.github.io/) on Windows.
|
||||
|
||||
First, move from the repository root to the samples directory to create a build directory:
|
||||
```
|
||||
cd samples
|
||||
mkdir build; cd build
|
||||
```
|
||||
|
||||
Then, depending on your system:
|
||||
|
||||
### Unix
|
||||
|
||||
Generate the CMake cache using Makefile:
|
||||
```
|
||||
cmake .. -G Makefile -DCMAKE_PREFIX_PATH=/opt/Qt/5.6/gcc_64/lib/cmake -DCMAKE_BUILD_TYPE=Release
|
||||
```
|
||||
|
||||
To build type:
|
||||
```
|
||||
make -j4
|
||||
```
|
||||
|
||||
|
||||
### Windows
|
||||
|
||||
Generate the CMake cache using MSVC 12 for x64:
|
||||
```
|
||||
cmake .. -G "Visual Studio 12 2013 Win64" -DCMAKE_PREFIX_PATH=C:/Qt/5.6/msvc2013_64/lib/cmake
|
||||
```
|
||||
|
||||
Alternatively, you can force the compilation on x86 architectures by using the **PLATFORM** property (*be sure to use the right generator and Qt binaries*):
|
||||
```
|
||||
cmake .. -G "Visual Studio 12 2013" -DCMAKE_PREFIX_PATH=C:/Qt/5.6/msvc2013/lib/cmake -DPLATFORM=32
|
||||
```
|
||||
|
||||
To build, simply type:
|
||||
```
|
||||
cmake --build . --target all --config Release
|
||||
```
|
||||
|
||||
*Note : using CMake, the build configuration type (ie. Debug, Release) is set at Build Time with MSVC and at Cache Generation Time with Makefile.*
|
||||
|
||||
OpenVR SDK
|
||||
---
|
||||
|
||||
OpenVR is an API and runtime that allows access to VR hardware from multiple
|
||||
vendors without requiring that applications have specific knowledge of the
|
||||
hardware they are targeting. This repository is an SDK that contains the API
|
||||
and samples. The runtime is under SteamVR in Tools on Steam.
|
||||
|
||||
### Documentation
|
||||
|
||||
Documentation for the API is available on the [Github Wiki](https://github.com/ValveSoftware/openvr/wiki/API-Documentation)
|
||||
|
||||
More information on OpenVR and SteamVR can be found on http://steamvr.com
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user