Jump to content

Courgeon

Verified Members
  • Posts

    7
  • Joined

  • Last visited

Posts posted by Courgeon

  1. 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.

  2. 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.

  3. 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.

     

     

  4. 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()

     

  5. 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.


     

×
×
  • Create New...