Skip to content

Commit c8085ac

Browse files
eksurimbucchia
authored andcommitted
add conditional FO4 decal/depth fix for OC/WMR
1 parent f9e494d commit c8085ac

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

XR_APILAYER_MBUCCHIA_toolkit/layer.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -496,6 +496,10 @@ namespace {
496496

497497
m_supportMotionReprojectionLock = isWMR;
498498

499+
// Fix Fallout 4 / OpenComposite Decal Issue for WMR
500+
m_overrideParallelProjection =
501+
m_applicationName == "OpenComposite_Fallout4VR" && isWMR;
502+
499503
// Workaround: the Vive runtime does not seem to properly convert timestamps. We disable any feature
500504
// depending on timestamps conversion.
501505
m_hasPerformanceCounterKHR = !isVive;
@@ -1719,6 +1723,14 @@ namespace {
17191723
m_posesForFrame[0].pose = views[0].pose;
17201724
m_posesForFrame[1].pose = views[1].pose;
17211725

1726+
// Fix Fallout 4 / OpenComposite Decal Issue for WMR
1727+
if (m_overrideParallelProjection) {
1728+
views[0].pose.orientation.w = views[1].pose.orientation.w;
1729+
views[0].pose.orientation.x = views[1].pose.orientation.x;
1730+
views[0].pose.orientation.y = views[1].pose.orientation.y;
1731+
views[0].pose.orientation.z = views[1].pose.orientation.z;
1732+
}
1733+
17221734
// Override the canting angle if requested.
17231735
const int cantOverride = m_configManager->getValue("canting");
17241736
if (cantOverride != 0) {
@@ -3402,6 +3414,7 @@ namespace {
34023414
bool m_hasPimaxEyeTracker{false};
34033415
bool m_isFrameThrottlingPossible{true};
34043416
bool m_overrideFoveatedRenderingCapability{false};
3417+
bool m_overrideParallelProjection{false};
34053418

34063419
std::mutex m_frameLock;
34073420
XrTime m_waitedFrameTime;

0 commit comments

Comments
 (0)