* update qt6 upgrade progress

* add flawed addition for QRenderTarget and link needed libs

* update to better logging format

* move many assets and qml files into qrc

* get rid of deprecation messages

* remove additional deprecation notices

* make Qt6 finally render on desktop with some progress on vr

* initialize QRhi with QQuickRenderControl

* use default values to stop SegFaults

* fix compilation on windows

* add windows files for aiding in running exe

* fix formatting of testing qt.conf

* first attempt on using textures instead of files in AudioTabController

* Fix public/private access issue

---------

Co-authored-by: RTUnreal <unreal@rtinf.net>
This commit is contained in:
ykeara
2024-04-03 22:49:24 -05:00
committed by GitHub
co-authored by RTUnreal
parent 72e91e9116
commit ca0ec3e07d
109 changed files with 1558 additions and 9421 deletions
+91 -97
View File
@@ -1,5 +1,7 @@
#include "MoveCenterTabController.h"
#include <QQuickWindow>
#include <QtLogging>
#include <QtDebug>
#include "../overlaycontroller.h"
#include "../quaternion/quaternion.h"
#include "../settings/settings.h"
@@ -116,10 +118,10 @@ void MoveCenterTabController::applyOffsetProfile( unsigned index )
emit offsetXChanged( m_offsetX );
emit offsetYChanged( m_offsetY );
emit offsetZChanged( m_offsetZ );
LOG( INFO ) << "Applying Offset Profile:" << profile.profileName
<< " X:" << m_offsetX << " Y:" << m_offsetY
<< " Z:" << m_offsetZ << " Rotation:"
<< ( static_cast<float>( m_rotation ) / 100 );
qInfo() << "Applying Offset Profile:" << profile.profileName
<< " X:" << m_offsetX << " Y:" << m_offsetY
<< " Z:" << m_offsetZ
<< " Rotation:" << ( static_cast<float>( m_rotation ) / 100 );
}
}
@@ -168,10 +170,10 @@ void MoveCenterTabController::outputLogPoses()
vr::HmdMatrix34_t hmdStanding
= devicePosesStanding[0].mDeviceToAbsoluteTracking;
LOG( INFO ) << "";
LOG( INFO ) << " ____Begin Matrices Log Ouput__________";
LOG( INFO ) << "|";
LOG( INFO ) << "HMD POSE (standing universe)";
qInfo() << "";
qInfo() << " ____Begin Matrices Log Ouput__________";
qInfo() << "|";
qInfo() << "HMD POSE (standing universe)";
outputLogHmdMatrix( hmdStanding );
vr::TrackedDevicePose_t devicePosesSeated[vr::k_unMaxTrackedDeviceCount];
@@ -185,7 +187,7 @@ void MoveCenterTabController::outputLogPoses()
vr::HmdMatrix34_t hmdSeated
= devicePosesSeated[0].mDeviceToAbsoluteTracking;
LOG( INFO ) << "HMD POSE (seated universe)";
qInfo() << "HMD POSE (seated universe)";
outputLogHmdMatrix( hmdSeated );
auto leftHand = vr::VRSystem()->GetTrackedDeviceIndexForControllerRole(
@@ -198,70 +200,65 @@ void MoveCenterTabController::outputLogPoses()
vr::HmdMatrix34_t rightHandMatrix
= devicePosesStanding[rightHand].mDeviceToAbsoluteTracking;
LOG( INFO ) << "LEFT Hand Controller Pose (standing universe)";
qInfo() << "LEFT Hand Controller Pose (standing universe)";
outputLogHmdMatrix( leftHandMatrix );
LOG( INFO ) << "RIGHT Hand Controller Pose (standing universe)";
qInfo() << "RIGHT Hand Controller Pose (standing universe)";
outputLogHmdMatrix( rightHandMatrix );
vr::HmdMatrix34_t standingZero;
vr::VRChaperoneSetup()->GetWorkingStandingZeroPoseToRawTrackingPose(
&standingZero );
LOG( INFO ) << "GetWorkingStandingZeroPoseToRawTrackingPose";
qInfo() << "GetWorkingStandingZeroPoseToRawTrackingPose";
outputLogHmdMatrix( standingZero );
vr::HmdMatrix34_t seatedZero;
vr::VRChaperoneSetup()->GetWorkingSeatedZeroPoseToRawTrackingPose(
&seatedZero );
LOG( INFO ) << "GetWorkingSeatedZeroPoseToRawTrackingPose";
qInfo() << "GetWorkingSeatedZeroPoseToRawTrackingPose";
outputLogHmdMatrix( seatedZero );
vr::HmdMatrix34_t seatedZeroLive;
vr::VRChaperoneSetup()->GetLiveSeatedZeroPoseToRawTrackingPose(
&seatedZeroLive );
LOG( INFO ) << "GetLiveSeatedZeroPoseToRawTrackingPose";
qInfo() << "GetLiveSeatedZeroPoseToRawTrackingPose";
outputLogHmdMatrix( seatedZeroLive );
vr::HmdMatrix34_t seatedToStandingAbsolute
= vr::VRSystem()->GetSeatedZeroPoseToStandingAbsoluteTrackingPose();
LOG( INFO ) << "GetSeatedZeroPoseToStandingAbsoluteTrackingPose";
qInfo() << "GetSeatedZeroPoseToStandingAbsoluteTrackingPose";
outputLogHmdMatrix( seatedToStandingAbsolute );
LOG( INFO ) << "m_universeCenterForReset";
qInfo() << "m_universeCenterForReset";
outputLogHmdMatrix( m_universeCenterForReset );
LOG( INFO ) << "m_seatedCenterForReset";
qInfo() << "m_seatedCenterForReset";
outputLogHmdMatrix( m_seatedCenterForReset );
LOG( INFO ) << "|____End Matrices Log Ouput____________";
LOG( INFO ) << "";
qInfo() << "|____End Matrices Log Ouput____________";
qInfo() << "";
}
void MoveCenterTabController::outputLogHmdMatrix( vr::HmdMatrix34_t hmdMatrix )
{
LOG( INFO ) << hmdMatrix.m[0][0] << "\t\t\t" << hmdMatrix.m[0][1]
<< "\t\t\t" << hmdMatrix.m[0][2] << "\t\t\t"
<< hmdMatrix.m[0][3];
LOG( INFO ) << hmdMatrix.m[1][0] << "\t\t\t" << hmdMatrix.m[1][1]
<< "\t\t\t" << hmdMatrix.m[1][2] << "\t\t\t"
<< hmdMatrix.m[1][3];
LOG( INFO ) << hmdMatrix.m[2][0] << "\t\t\t" << hmdMatrix.m[2][1]
<< "\t\t\t" << hmdMatrix.m[2][2] << "\t\t\t"
<< hmdMatrix.m[2][3];
qInfo() << hmdMatrix.m[0][0] << "\t\t\t" << hmdMatrix.m[0][1] << "\t\t\t"
<< hmdMatrix.m[0][2] << "\t\t\t" << hmdMatrix.m[0][3];
qInfo() << hmdMatrix.m[1][0] << "\t\t\t" << hmdMatrix.m[1][1] << "\t\t\t"
<< hmdMatrix.m[1][2] << "\t\t\t" << hmdMatrix.m[1][3];
qInfo() << hmdMatrix.m[2][0] << "\t\t\t" << hmdMatrix.m[2][1] << "\t\t\t"
<< hmdMatrix.m[2][2] << "\t\t\t" << hmdMatrix.m[2][3];
float atan2Yaw = std::atan2( hmdMatrix.m[0][2], hmdMatrix.m[2][2] );
LOG( INFO ) << "atan2 Yaw Calculation: " << atan2Yaw << "radians "
<< ( ( static_cast<double>( atan2Yaw )
* k_radiansToCentidegrees )
/ 100 )
<< "degrees";
qInfo() << "atan2 Yaw Calculation: " << atan2Yaw << "radians "
<< ( ( static_cast<double>( atan2Yaw ) * k_radiansToCentidegrees )
/ 100 )
<< "degrees";
vr::HmdQuaternion_t hmdQuat = quaternion::fromHmdMatrix34( hmdMatrix );
double hmdQuatYaw = quaternion::getYaw( hmdQuat );
LOG( INFO ) << "Quaternion Yaw Calculation: " << hmdQuatYaw << "radians "
<< ( ( hmdQuatYaw * k_radiansToCentidegrees ) / 100 )
<< "degrees";
LOG( INFO ) << "";
qInfo() << "Quaternion Yaw Calculation: " << hmdQuatYaw << "radians "
<< ( ( hmdQuatYaw * k_radiansToCentidegrees ) / 100 ) << "degrees";
qInfo() << "";
}
int MoveCenterTabController::trackingUniverse() const
@@ -283,7 +280,7 @@ void MoveCenterTabController::setTrackingUniverse( int value, bool notify )
if ( notify )
{
emit trackingUniverseChanged( m_trackingUniverse );
LOG( INFO ) << "Tracking Universe: " << m_trackingUniverse;
qInfo() << "Tracking Universe: " << m_trackingUniverse;
}
}
}
@@ -914,19 +911,19 @@ void MoveCenterTabController::incomingZeroReset()
// aspects) IN mixed tracking environments I get this issue, the check if
// there is an error and apply autosaved profile is hopefully a workaround
auto calState = vr::VRChaperone()->GetCalibrationState();
LOG( INFO ) << "Calibration State on Zero Reset is: " << calState;
qInfo() << "Calibration State on Zero Reset is: " << calState;
// If we detect a seated Recenter and are not currently in process
// we reload chaperone from disk
if ( m_recenterStages < 1 )
{
LOG( INFO ) << "Re-Center Stage 1, reload from disk";
qInfo() << "Re-Center Stage 1, reload from disk";
m_recenterStages++;
if ( calState > 199 && m_initComplete )
{
LOG( INFO ) << "Chaperone calibration state is error, attempting "
"to apply autosaved profile to fix issue";
qInfo() << "Chaperone calibration state is error, attempting "
"to apply autosaved profile to fix issue";
parent->m_chaperoneTabController.applyAutosavedProfile();
}
@@ -940,7 +937,7 @@ void MoveCenterTabController::incomingZeroReset()
// and reseting our stage counter
if ( m_recenterStages == 1 )
{
LOG( INFO ) << "Recenter Stage 2 re-set zero pos, and reset offsets";
qInfo() << "Recenter Stage 2 re-set zero pos, and reset offsets";
vr::VRChaperoneSetup()->GetWorkingStandingZeroPoseToRawTrackingPose(
&m_universeCenterForReset );
vr::VRChaperoneSetup()->GetWorkingSeatedZeroPoseToRawTrackingPose(
@@ -956,12 +953,12 @@ void MoveCenterTabController::reset()
// DO NOT attempt to apply autosaved profile on reset, as it is triggered by
// the apply chaperone profile Side effects are bad!
auto calState = vr::VRChaperone()->GetCalibrationState();
LOG( INFO ) << "Calibration State on Reset is: " << calState;
qInfo() << "Calibration State on Reset is: " << calState;
if ( !m_chaperoneBasisAcquired )
{
LOG( WARNING ) << "WARNING: Attempted reset offsets before chaperone "
"basis is acquired!";
qWarning() << "WARNING: Attempted reset offsets before chaperone "
"basis is acquired!";
return;
}
m_heightToggle = false;
@@ -1035,65 +1032,62 @@ void MoveCenterTabController::zeroOffsets()
- ( m_rotation * k_centidegreesToRadians ) );
if ( abs( currentCenterXyz[0] ) > k_maxOpenvrCommitOffset )
{
LOG( INFO ) << "Attempted Zero Offsets out of commit bounds ( X: "
<< currentCenterXyz[0] << " )";
LOG( INFO ) << "GetWorkingStandingZeroPoseToRawTrackingPose";
qInfo() << "Attempted Zero Offsets out of commit bounds ( X: "
<< currentCenterXyz[0] << " )";
qInfo() << "GetWorkingStandingZeroPoseToRawTrackingPose";
outputLogHmdMatrix( currentCenter );
// if reset happens before init is complete we set the universe
// center to the raw tracking zero point
reset();
if ( !m_chaperoneBasisAcquired )
{
LOG( WARNING )
<< "<[!]><[!]>EXECUTED RESET BEFORE BASIS "
"ACQUIRED<[!]><[!]> "
"Setting universe center to raw tracking zero point.";
qWarning() << "<[!]><[!]>EXECUTED RESET BEFORE BASIS "
"ACQUIRED<[!]><[!]> "
"Setting universe center to raw tracking zero point.";
}
else
{
LOG( INFO ) << "-Resetting offsets-";
qInfo() << "-Resetting offsets-";
}
}
else if ( abs( currentCenterXyz[1] ) > k_maxOpenvrCommitOffset )
{
LOG( INFO ) << "Attempted Zero Offsets out of commit bounds ( Y: "
<< currentCenterXyz[1] << " )";
LOG( INFO ) << "GetWorkingStandingZeroPoseToRawTrackingPose";
qInfo() << "Attempted Zero Offsets out of commit bounds ( Y: "
<< currentCenterXyz[1] << " )";
qInfo() << "GetWorkingStandingZeroPoseToRawTrackingPose";
outputLogHmdMatrix( currentCenter );
// if reset happens before init is complete we set the universe
// center to the raw tracking zero point
reset();
if ( !m_chaperoneBasisAcquired )
{
LOG( WARNING )
<< "<[!]><[!]>EXECUTED RESET BEFORE BASIS "
"ACQUIRED<[!]><[!]> "
"Setting universe center to raw tracking zero point.";
qWarning() << "<[!]><[!]>EXECUTED RESET BEFORE BASIS "
"ACQUIRED<[!]><[!]> "
"Setting universe center to raw tracking zero point.";
}
else
{
LOG( INFO ) << "-Resetting offsets-";
qInfo() << "-Resetting offsets-";
}
}
else if ( abs( currentCenterXyz[2] ) > k_maxOpenvrCommitOffset )
{
LOG( INFO ) << "Attempted Zero Offsets out of commit bounds ( Z: "
<< currentCenterXyz[2] << " )";
LOG( INFO ) << "GetWorkingStandingZeroPoseToRawTrackingPose";
qInfo() << "Attempted Zero Offsets out of commit bounds ( Z: "
<< currentCenterXyz[2] << " )";
qInfo() << "GetWorkingStandingZeroPoseToRawTrackingPose";
outputLogHmdMatrix( currentCenter );
// if reset happens before init is complete we set the universe
// center to the raw tracking zero point
reset();
if ( !m_chaperoneBasisAcquired )
{
LOG( WARNING )
<< "<[!]><[!]>EXECUTED RESET BEFORE BASIS "
"ACQUIRED<[!]><[!]> "
"Setting universe center to raw tracking zero point.";
qWarning() << "<[!]><[!]>EXECUTED RESET BEFORE BASIS "
"ACQUIRED<[!]><[!]> "
"Setting universe center to raw tracking zero point.";
}
else
{
LOG( INFO ) << "-Resetting offsets-";
qInfo() << "-Resetting offsets-";
}
}
m_oldOffsetX = 0.0f;
@@ -1121,7 +1115,7 @@ void MoveCenterTabController::zeroOffsets()
auto calState = vr::VRChaperone()->GetCalibrationState();
if ( calState == 200 )
{
LOG( WARNING )
qWarning()
<< "Chaperone State Does Not Exist Yet, will wait for "
"universe change to finish initialization";
}
@@ -1135,13 +1129,13 @@ void MoveCenterTabController::zeroOffsets()
else
{
// shutdown was unsafe last session!
LOG( WARNING ) << "DETECTED UNSAFE SHUTDOWN FROM LAST SESSION";
qWarning() << "DETECTED UNSAFE SHUTDOWN FROM LAST SESSION";
m_initComplete = false;
if ( !parent->crashRecoveryDisabled() )
{
parent->m_chaperoneTabController.applyAutosavedProfile();
LOG( INFO ) << "Applying last good chaperone "
"profile autosave";
qInfo() << "Applying last good chaperone "
"profile autosave";
}
}
// Now mark previous shutdown as unsafe in case we crash
@@ -1154,11 +1148,11 @@ void MoveCenterTabController::zeroOffsets()
}
if ( m_roomSetupModeDetected )
{
LOG( INFO ) << "room setup EXIT detected";
qInfo() << "room setup EXIT detected";
m_roomSetupModeDetected = false;
}
LOG( INFO ) << "SUCCESS: Chaperone Data Updated and Offsets zeroed out";
qInfo() << "SUCCESS: Chaperone Data Updated and Offsets zeroed out";
}
void MoveCenterTabController::sendSeatedRecenter()
@@ -1196,8 +1190,8 @@ void MoveCenterTabController::updateChaperoneResetData()
auto cstate = vr::VRChaperone()->GetCalibrationState();
if ( cstate > 199 )
{
LOG( WARNING ) << "Chaperone Calibration State is error: " << cstate
<< " While Trying to Update Reset Data";
qWarning() << "Chaperone Calibration State is error: " << cstate
<< " While Trying to Update Reset Data";
}
else
{
@@ -1905,11 +1899,11 @@ void MoveCenterTabController::resetOffsets( bool resetOffsetsJustPressed )
emit rotationChanged( m_rotation );
updateSpace( true );
auto calState = vr::VRChaperone()->GetCalibrationState();
LOG( INFO ) << "Calibration State on Reset Offsets is: " << calState;
qInfo() << "Calibration State on Reset Offsets is: " << calState;
// if ( calState > 199 && m_initComplete )
// {
// LOG( INFO ) << "Chaperone calibration state is error,
// qInfo() << "Chaperone calibration state is error,
// attempting "
// "to apply autosaved profile to fix issue";
// parent->m_chaperoneTabController.applyAutosavedProfile();
@@ -2139,8 +2133,8 @@ void MoveCenterTabController::updateHmdRotationCounter(
}
else
{
LOG( WARNING ) << "HMD Was Inverted during a Turn Count, Turn "
"counter may be in-accurate";
qWarning() << "HMD Was Inverted during a Turn Count, Turn "
"counter may be in-accurate";
}
}
@@ -2586,16 +2580,16 @@ void MoveCenterTabController::updateSpace( bool forceUpdate )
> k_maxOvrasUniverseCenteredTurningOffset
&& universeCenteredRotation() ) )
{
LOG( INFO ) << "Raw universe center out of bounds ( X: "
<< offsetUniverseCenterXyz[0] << " )";
qInfo() << "Raw universe center out of bounds ( X: "
<< offsetUniverseCenterXyz[0] << " )";
vr::HmdMatrix34_t standingZero;
vr::VRChaperoneSetup()->GetWorkingStandingZeroPoseToRawTrackingPose(
&standingZero );
LOG( INFO ) << "GetWorkingStandingZeroPoseToRawTrackingPose";
qInfo() << "GetWorkingStandingZeroPoseToRawTrackingPose";
outputLogHmdMatrix( standingZero );
reset();
parent->m_chaperoneTabController.applyAutosavedProfile();
LOG( INFO ) << "-Resetting to autosaved chaperone profile-";
qInfo() << "-Resetting to autosaved chaperone profile-";
return;
}
if ( abs( offsetUniverseCenterXyz[1] ) > k_maxOpenvrWorkingSetOffest
@@ -2603,16 +2597,16 @@ void MoveCenterTabController::updateSpace( bool forceUpdate )
> k_maxOvrasUniverseCenteredTurningOffset
&& universeCenteredRotation() ) )
{
LOG( INFO ) << "Raw universe center out of bounds ( Y: "
<< offsetUniverseCenterXyz[1] << " )";
qInfo() << "Raw universe center out of bounds ( Y: "
<< offsetUniverseCenterXyz[1] << " )";
vr::HmdMatrix34_t standingZero;
vr::VRChaperoneSetup()->GetWorkingStandingZeroPoseToRawTrackingPose(
&standingZero );
LOG( INFO ) << "GetWorkingStandingZeroPoseToRawTrackingPose";
qInfo() << "GetWorkingStandingZeroPoseToRawTrackingPose";
outputLogHmdMatrix( standingZero );
reset();
parent->m_chaperoneTabController.applyAutosavedProfile();
LOG( INFO ) << "-Resetting to autosaved chaperone profile-";
qInfo() << "-Resetting to autosaved chaperone profile-";
return;
}
if ( abs( offsetUniverseCenterXyz[2] ) > k_maxOpenvrWorkingSetOffest
@@ -2620,16 +2614,16 @@ void MoveCenterTabController::updateSpace( bool forceUpdate )
> k_maxOvrasUniverseCenteredTurningOffset
&& universeCenteredRotation() ) )
{
LOG( INFO ) << "Raw universe center out of bounds ( Z: "
<< offsetUniverseCenterXyz[2] << " )";
qInfo() << "Raw universe center out of bounds ( Z: "
<< offsetUniverseCenterXyz[2] << " )";
vr::HmdMatrix34_t standingZero;
vr::VRChaperoneSetup()->GetWorkingStandingZeroPoseToRawTrackingPose(
&standingZero );
LOG( INFO ) << "GetWorkingStandingZeroPoseToRawTrackingPose";
qInfo() << "GetWorkingStandingZeroPoseToRawTrackingPose";
outputLogHmdMatrix( standingZero );
reset();
parent->m_chaperoneTabController.applyAutosavedProfile();
LOG( INFO ) << "-Resetting to autosaved chaperone profile-";
qInfo() << "-Resetting to autosaved chaperone profile-";
return;
}
@@ -2751,7 +2745,7 @@ void MoveCenterTabController::eventLoopTick(
// the middle of room setup.
m_pendingZeroOffsets = false;
LOG( INFO ) << "room setup ENTRY detected";
qInfo() << "room setup ENTRY detected";
vr::VRChaperoneSetup()->HideWorkingSetPreview();
reset();
vr::VRChaperoneSetup()->RevertWorkingCopy();
@@ -2765,7 +2759,7 @@ void MoveCenterTabController::eventLoopTick(
if ( universe == vr::TrackingUniverseSeated && !m_seatedModeDetected )
{
m_seatedModeDetected = true;
LOG( INFO ) << "seated mode ENTRY detected";
qInfo() << "seated mode ENTRY detected";
}
// detect exiting seated mode
@@ -2773,7 +2767,7 @@ void MoveCenterTabController::eventLoopTick(
{
m_seatedModeDetected = false;
reset();
LOG( INFO ) << "seated mode EXIT detected";
qInfo() << "seated mode EXIT detected";
}
// If we're trying to redifine the origin point, but can't becaues of