Courgeon
-
Posts
7 -
Joined
-
Last visited
Content Type
Profiles
Forums
Gallery
Blogs
Events
Store
Downloads
Posts posted by Courgeon
-
-
Hi,
I'm already running the lastest beta version 2.0.21.4
-
Hello,
I'm trying to use the blend mode XR_ENVIRONMENT_BLEND_MODE_ALPHA_BLEND using the Vive Cosmos, hoping that submitting images with alpha set to zero outside rendered objects would use the video feed and create a mixed reality experience.
Yet, the background remains black where I was expecting the "real world" video seethrough.
Is the Cosmos supposed to handle this ?
Best,
M.
-
I found something quite interresting
All the examples I used as base were linking the depthInfo (XrCompositionLayerDepthInfoKHR) to the projection_views (XrCompositionLayerProjectionView) using the "next" pointer
// depth is chained to projection, not submitted as separate layer projection_views[i].next = &depth.infos[i];
However, It seems that the Vive OpenXR runtime does not allow that and crashes.
I just set next to null, and now it works.
-
If it can help here is the complete log of the XR calls
Verbose [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Entering loader trampoline Info [GENERAL | | OpenXR-Loader] : RuntimeManifestFile::FindManifestFiles - using registry-specified runtime file C:\Program Files (x86)\VIVE\Updater\App\ViveVRRuntime\ViveVR_openxr\ViveOpenXR.json Info [GENERAL | | OpenXR-Loader] : RuntimeManifestFile::CreateIfValid - attempting to load C:\Program Files (x86)\VIVE\Updater\App\ViveVRRuntime\ViveVR_openxr\ViveOpenXR.json Info [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntime succeeded loading runtime defined in manifest file C:\Program Files (x86)\VIVE\Updater\App\ViveVRRuntime\ViveVR_openxr\ViveOpenXR.json using interface version 1 and OpenXR API version 1.0 Verbose [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Completed loader trampoline Enumerate number of extension properties : Success Verbose [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Entering loader trampoline Verbose [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Completed loader trampoline Enumerate extension properties : Success XR Runtime supports 19 extensions >> XR_EXT_hand_tracking (version 2) >> XR_EXT_eye_gaze_interaction (version 1) >> XR_HTC_facial_tracking (version 1) >> XR_HTC_vive_srworks_pass_through (version 1) >> XR_MSFT_scene_understanding (version 1) >> XR_KHR_D3D11_enable (version 9) >> XR_KHR_D3D12_enable (version 9) >> XR_KHR_win32_convert_performance_counter_time (version 1) >> XR_KHR_visibility_mask (version 2) >> XR_HTC_vive_cosmos_controller_interaction (version 1) >> XR_KHR_opengl_enable (version 10) >> XR_KHR_vulkan_enable (version 8) >> XR_KHR_vulkan_enable2 (version 2) >> XR_EXT_debug_utils (version 4) >> XR_KHR_convert_timespec_time (version 1) >> XR_KHR_composition_layer_depth (version 6) >> XR_FB_passthrough (version 3) >> XR_FB_triangle_mesh (version 2) >> XR_EXT_win32_appcontainer_compatible (version 1) Verbose [GENERAL | xrCreateInstance | OpenXR-Loader] : Entering loader trampoline Warning [GENERAL | | OpenXR-Loader] : ReadLayerDataFilesInRegistry - failed to read registry location \ApiLayers\Explicit in either HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER Info [GENERAL | xrCreateInstance | OpenXR-Loader] : ApiLayerInterface::LoadApiLayers succeeded loading layer XR_APILAYER_VIVE_hand_tracking using interface version 1 and OpenXR API version 1.0 Info [GENERAL | xrCreateInstance | OpenXR-Loader] : ApiLayerInterface::LoadApiLayers succeeded loading layer XR_APILAYER_VIVE_facial_tracking using interface version 1 and OpenXR API version 1.0 Info [GENERAL | xrCreateInstance | OpenXR-Loader] : ApiLayerInterface::LoadApiLayers succeeded loading layer XR_APILAYER_VIVE_srworks using interface version 1 and OpenXR API version 1.0 Verbose [GENERAL | xrCreateInstance | OpenXR-Loader] : Entering LoaderInstance::CreateInstance Verbose [GENERAL | xrCreateInstance | OpenXR-Loader] : Entering loader terminator Verbose [GENERAL | xrCreateInstance | OpenXR-Loader] : Completed loader terminator Info [GENERAL | xrCreateInstance | OpenXR-Loader] : LoaderInstance::CreateInstance succeeded with 3 layers enabled and runtime interface - created instance = 0x00000248ff495250 Verbose [GENERAL | xrCreateInstance | OpenXR-Loader] : Completed loader trampoline Create XR instance : Success Get OpenGL graphics requirements function : Success Get XR instance info : Success Runtime Name: Vive Reality Runtime Runtime Version: 0.0.1 Get system for HMD form factor : Success Successfully got XrSystem with id 1 for HMD form factor Get System properties : Success System properties for system 1 Name : Vive OpenXR: Vive SRanipalcking VendorId : 2996 Max Layers : 0 Max swapchain height : 0 Max swapchain width : 0 Orientation Tracking : 0 Position tracking : 0 Get view configuration view count : Success Enumerate view configuration views : Success View Configuration View :0 Resolution : Recommended : 2757 x 3256 Maximum : 2757 x 3256 Swapchain Samples : Recommended : 1 Maximum : 1 View Configuration View :1 Resolution : Recommended : 2757 x 3256 Maximum : 2757 x 3256 Swapchain Samples : Recommended : 1 Maximum : 1 Get OpenGL graphics requirements : Success OpenGL Support : Minimum version : 4.3.0 Maximum version : 4.6.1023 Using OpenGL version: 4.6.0 NVIDIA 517.48 Using OpenGL Renderer: NVIDIA GeForce RTX 3070 Ti/PCIe/SSE2 Create XR session : Success Successfully created a session with OpenGL! Create play space : Success Get number of supported color swapchain formats : Success Runtime supports 3 color swapchain formats Enumerate color swapchain formats : Success Supported GL color format: Rgba8 Supported GL color format: Srgb8Alpha8 Supported GL color format: DepthComponent16Sgix > Using preferred color swapchain format Srgb8Alpha8 Get number of supported depth swapchain formats : Success Runtime supports 3 depth swapchain formats Enumerate depth swapchain formats : Success Supported GL depth format: Rgba8 Supported GL depth format: Srgb8Alpha8 Supported GL depth format: DepthComponent16Sgix > Using preferred depth swapchain format DepthComponent16Sgix Create swapchain 0 : Success Enumerate swapchains : Success Enumerate swapchain images : Success Create swapchain 1 : Success Enumerate swapchains : Success Enumerate swapchain images : Success Create depth swapchain 0 : Success Enumerate depth swapchains : Success Enumerate depth swapchain images : Success Create depth swapchain 1 : Success Enumerate depth swapchains : Success Enumerate depth swapchain images : Success Create ActionSet : Success Create hand pose action : Success Create hand 0 pose space : Success Create hand 1 pose space : Success Attach action set : Success Init scene loading Scene loaded Poll XR events : Success Begin session : Success Waiting for XR frame ready XR wait frame ok Wait XR frame : Success Locate views : Success Sync actions : SessionNotFocused Begin frame : Success fAcquire swapchain image : Success Wait for swapchain image : Success Acquire depth swapchain image : Success Wait for depth swapchain image : Success Using on left eye : Color : 0 ImageID : 1 Depth : 0 ImageID : 7 Release swapchain image : Success Release swapchain depth image : Success fAcquire swapchain image : Success Wait for swapchain image : Success Acquire depth swapchain image : Success Wait for depth swapchain image : Success Using on right eye : Color : 0 ImageID : 4 Depth : 0 ImageID : 10 Release swapchain image : Success Release swapchain depth image : Success Fatal error. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. at Silk.NET.OpenXR.XR.EndFrame(Silk.NET.OpenXR.Session, Silk.NET.OpenXR.FrameEndInfo*) at EGL.core.openxr.XR_Manager.EndFrame() at EGL.core.openxr.XR_Manager+<>c__DisplayClass54_0.<getRenderPassRight>b__1() at EGL.core.renderer.EGL_Renderpass+<>c.<doRender>b__29_1(System.Action) at System.Collections.Generic.List`1[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].ForEach(System.Action`1<System.__Canon>) at EGL.core.renderer.EGL_Renderpass.doRender() at EGL.core.engine.EGL_Engine+<>c.<_initRenderProcess>b__71_4(EGL.core.renderer.EGL_Renderpass) at System.Collections.Generic.List`1[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].ForEach(System.Action`1<System.__Canon>) at EGL.core.engine.EGL_Engine+<>c__DisplayClass71_0.<_initRenderProcess>b__0() at System.Threading.Thread.StartCallback()
-
Unfortunatly, I cannot share the engine source code.
May I have a link to the "HelloXR-OpenGL-Alpha Blend mode" exemple ?
regarding the second point, I don't understand what "report number" you are expecting.
Thank you
M.
-
Hello,
I'm trying to use the Cosmos with our OpenGL engine (c# based), and using OpenXR.
We have beeing using Steam OpenVR API for a while, but I'd like to use the Alpha Blend mode using Vive OpenXR.
I managed to implement OpenXR in our engine, it works well with Oculus OpenXR (quest 2 + link), and with Steam OpenXR + Vive Cosmos. However, using the Vive OpenXR implementation as target, xrEndFrame crashes with
System.AccessViolationException
HResult=0x80004003
Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt.Any idea what's going on ?
M.
BlendMode AlphaBlend and Vive Cosmos
in VIVE OpenXR
Posted
Follow up.
I got my hands on a Varjo XR3, I had the same effect at first.
I finally figured out that the XrCompositionLayerProjection that are submitted must be flagged with XR_COMPOSITION_LAYER_BLEND_TEXTURE_SOURCE_ALPHA_BIT for blend mode to work.
At least, it's the case on the Varjo XR3, where the mixed reality now works.
However, it doesn't change a thing on the Vive Cosmos. Still getting black instead of video passthrough.
M.