Open VR-Anonymous opened 2 years ago
The poses of the displays relative to the headset doesn't seem to be exposed as properties. Instead it looks like it's handled by calling IVRServerDriverHost::SetDisplayEyeToHead()
from within in your driver code, and providing the appropriate transformation matrices.
The poses of the displays relative to the headset doesn't seem to be exposed as properties. Instead it looks like it's handled by calling
IVRServerDriverHost::SetDisplayEyeToHead()
from within in your driver code, and providing the appropriate transformation matrices.
Hello, thank you for your attention and help. I'm not a programmer sorry, I'm just a user trying to find a solution to a modification I'm making in a VR Viewer, when tilting and rotating the screens, it is required to be able to adjust this displacement in SteamVR to accommodate the image properly. I can't do more than add some line of code to the DRIVER file like when changing the IPD for example, that's an easy thing for anyone to do. If the function that is needed is not implemented in the exposed list, there is little I can do.
But, I have been in contact with Mr. BlueSkyDefender, programmer and creator of the SuperDepth3D Reshare utilities.
He has added Polynomial_Barrel_Distortion_for_HMDs to his app, the required function and soon, it will be available in his SuperDepth3D_VR app.
a greeting
For lighthouse tracked devices (e.g. Valve Index, HTC Vive) the device config allows you to specify a full matrix for the eye_to_head transform. If you are using a different driver (e.g. Pimax) then you'll have to ask them how they have things configured. Typically a driver will call vr::VRServerDriverHost()->SetDisplayEyeToHead as mentioned above to communicate this (e.g. when updating IPD).
For lighthouse tracked devices (e.g. Valve Index, HTC Vive) the device config allows you to specify a full matrix for the eye_to_head transform. If you are using a different driver (e.g. Pimax) then you'll have to ask them how they have things configured. Typically a driver will call vr::VRServerDriverHost()->SetDisplayEyeToHead as mentioned above to communicate this (e.g. when updating IPD).
If everything indicates that the DisplayEyeToHead function is in charge of carrying out this process, the problem is that I am not able to make a controller, I hope someone can make an example controller to use.
There are some drivers that use the monitor as an example, I hope to find something similar to adapt to the MOD VISOR 90º FOV @ 135º FOV, which is hosted here:
MOD VISOR 90º FOV @ 135º FOV https://www.realovirtual.com/foro/topic/51245/mod-visor-vr-los-90o-fov-135o-fov-anonymous-vr
Anyone who can help with an example controller is celebrated by the community. Maybe an external application is able to make changes in the axes of the cameras or screens, it can be a universal solution for all MODs in the future, it is not easy to make a driver for each HMD VR.
MOD VISOR 90º FOV @ 135º FOV https://www.realovirtual.com/foro/topic/51245/mod-visor-vr-los-90o-fov-135o-fov-anonymous-vr
Help with the problem, surely for a programmer it is easy, but for those who are not, it is impossible.
MY SOLUTION IN DRIVER:
virtual void GetProjectionRaw( EVREye eEye, float pfLeft, float pfRight, float pfTop, float pfBottom ) if (eEye == Eye_Left) { pfLeft = -1.0 + degress; pfRight = 1.0 + degress; pfTop = -1.0; pfBottom = 1.0; } else { pfLeft = -1.0 - degress; pfRight = 1.0 - degrees; pfTop = -1.0; pfBottom = 1.0; } }
Hello, I need help to adjust the screens in my controller…, I am looking to rotate the screens on their axes by 15º.
I am making a modification to a viewer with 2 independent screens of 1440 x 1440, the total resolution is 2880 x 1440…, the important thing here is that they are independent screens.
I want to rotate the screens like Pimax 5K and up viewfinders do.
My problem is that I can change some settings on my controller, but I don't know the command line to tell SteamVR to rotate my screens by x degrees.
I can adjust the IPD, Lens Corrections and others, but I don't know how to rotate the screens on their own axis. Can you help me? Thanks.
{ "driver_config" : { "enable" : true, "adjust_distortion":true,
} }
Help please, How to Rotate the Screens on their Axes?
What function can the axis of vision handle?
//----------------------------------------------------------------------------- // steamvr keys static const char const k_pch_SteamVR_Section = "steamvr"; static const char const k_pch_SteamVR_RequireHmd_String = "requireHmd"; static const char const k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; static const char const k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; static const char const k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; static const char const k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; static const char const k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; static const char const k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; static const char const k_pch_SteamVR_SendSystemButtonToAllApps_Bool= "sendSystemButtonToAllApps"; static const char const k_pch_SteamVR_LogLevel_Int32 = "loglevel"; static const char const k_pch_SteamVR_IPD_Float = "ipd"; static const char const k_pch_SteamVR_Background_String = "background"; static const char const k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection"; static const char const k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; static const char const k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; static const char const k_pch_SteamVR_GridColor_String = "gridColor"; static const char const k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; static const char const k_pch_SteamVR_TrackingLossColor_String = "trackingLossColor"; static const char const k_pch_SteamVR_ShowStage_Bool = "showStage"; static const char const k_pch_SteamVR_DrawTrackingReferences_Bool = "drawTrackingReferences"; static const char const k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; static const char const k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; static const char const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; static const char const k_pch_SteamVR_BaseStationPowerManagement_Int32 = "basestationPowerManagement"; static const char const k_pch_SteamVR_ShowBaseStationPowerManagementTip_Int32 = "ShowBaseStationPowerManagementTip"; static const char const k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; static const char const k_pch_SteamVR_SupersampleScale_Float = "supersampleScale"; static const char const k_pch_SteamVR_MaxRecommendedResolution_Int32 = "maxRecommendedResolution"; static const char const k_pch_SteamVR_MotionSmoothing_Bool = "motionSmoothing"; static const char const k_pch_SteamVR_MotionSmoothingOverride_Int32 = "motionSmoothingOverride"; static const char const k_pch_SteamVR_FramesToThrottle_Int32 = "framesToThrottle"; static const char const k_pch_SteamVR_AdditionalFramesToPredict_Int32 = "additionalFramesToPredict"; static const char const k_pch_SteamVR_DisableAsyncReprojection_Bool = "disableAsync"; static const char const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; static const char const k_pch_SteamVR_DefaultMirrorView_Int32 = "mirrorView"; static const char const k_pch_SteamVR_ShowLegacyMirrorView_Bool = "showLegacyMirrorView"; static const char const k_pch_SteamVR_MirrorViewVisibility_Bool = "showMirrorView"; static const char const k_pch_SteamVR_MirrorViewDisplayMode_Int32 = "mirrorViewDisplayMode"; static const char const k_pch_SteamVR_MirrorViewEye_Int32 = "mirrorViewEye"; static const char const k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry"; static const char const k_pch_SteamVR_MirrorViewGeometryMaximized_String = "mirrorViewGeometryMaximized"; static const char const k_pch_SteamVR_PerfGraphVisibility_Bool = "showPerfGraph"; static const char const k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch"; static const char const k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch"; static const char const k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch"; static const char const k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard"; static const char const k_pch_SteamVR_EnableHomeApp = "enableHomeApp"; static const char const k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec"; static const char const k_pch_SteamVR_RetailDemo_Bool = "retailDemo"; static const char const k_pch_SteamVR_IpdOffset_Float = "ipdOffset"; static const char const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering"; static const char const k_pch_SteamVR_SupersampleManualOverride_Bool = "supersampleManualOverride"; static const char const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync"; static const char const k_pch_SteamVR_AllowDisplayLockedMode_Bool = "allowDisplayLockedMode"; static const char const k_pch_SteamVR_HaveStartedTutorialForNativeChaperoneDriver_Bool = "haveStartedTutorialForNativeChaperoneDriver"; static const char const k_pch_SteamVR_ForceWindows32bitVRMonitor = "forceWindows32BitVRMonitor"; static const char const k_pch_SteamVR_DebugInputBinding = "debugInputBinding"; static const char const k_pch_SteamVR_DoNotFadeToGrid = "doNotFadeToGrid"; static const char const k_pch_SteamVR_RenderCameraMode = "renderCameraMode"; static const char const k_pch_SteamVR_EnableSharedResourceJournaling = "enableSharedResourceJournaling"; static const char const k_pch_SteamVR_EnableSafeMode = "enableSafeMode"; static const char const k_pch_SteamVR_PreferredRefreshRate = "preferredRefreshRate"; static const char const k_pch_SteamVR_LastVersionNotice = "lastVersionNotice"; static const char const k_pch_SteamVR_LastVersionNoticeDate = "lastVersionNoticeDate"; static const char const k_pch_SteamVR_HmdDisplayColorGainR_Float = "hmdDisplayColorGainR"; static const char const k_pch_SteamVR_HmdDisplayColorGainG_Float = "hmdDisplayColorGainG"; static const char const k_pch_SteamVR_HmdDisplayColorGainB_Float = "hmdDisplayColorGainB"; static const char const k_pch_SteamVR_CustomIconStyle_String = "customIconStyle"; static const char const k_pch_SteamVR_CustomOffIconStyle_String = "customOffIconStyle"; static const char const k_pch_SteamVR_CustomIconForceUpdate_String = "customIconForceUpdate"; static const char const k_pch_SteamVR_AllowGlobalActionSetPriority = "globalActionSetPriority"; static const char const k_pch_SteamVR_OverlayRenderQuality = "overlayRenderQuality_2"; static const char const k_pch_SteamVR_BlockOculusSDKOnOpenVRLaunchOption_Bool = "blockOculusSDKOnOpenVRLaunchOption"; static const char const k_pch_SteamVR_BlockOculusSDKOnAllLaunches_Bool = "blockOculusSDKOnAllLaunches"; static const char const k_pch_SteamVR_HDCPLegacyCompatibility_Bool = "hdcp14legacyCompatibility"; static const char const k_pch_SteamVR_UsePrism_Bool = "usePrism";
What function can the axis of vision handle?