Skip to content

Instantly share code, notes, and snippets.

@TayouVR
Last active August 11, 2024 17:46
Show Gist options
  • Save TayouVR/a48b37bbc45765b8f9ec8a231c9f101c to your computer and use it in GitHub Desktop.
Save TayouVR/a48b37bbc45765b8f9ec8a231c9f101c to your computer and use it in GitHub Desktop.

Disclaimer: Some connections or nodes may be missing, this graphic is not complete

Legend:

flowchart TB
    api(("APIs"))
    runtime[/"Runtimes"/]
    streamingApp{{"Streaming Apps"}}
Loading
flowchart LR
    oculusRuntime[/"Oculus Runtime"/]
    wmrRuntime[/"WMR Runtime"/]
    steamvr[/"SteamVR"/]
    pimaxRuntime[/"Pimax Runtime"/]
    monadoRuntime[/"Monado"/]
    subgraph apis["APIs"]
        openxrApi(("OpenXR"))
        openvrApi(("OpenVR"))
        oculusApi(("Oculus"))
        wmrApi(("WMR"))

        revive["Revive\n<i>oculus to OpenVR & OpenXR</i>"]
        openComposite["Open Composite\n<i>OpenVR to OpenXR</i>"]
    end
    subgraph streamingApps["Standalone streaming apps"]
        wivrnRuntime[/"WiVRn"/]
        alvrStreamer{{"ALVR"}}
        steamLink{{"Steam Link"}}
        virtualDesktop{{"Virtual Desktop"}}
        airLink{{"Oculus Link & Air Link"}}
        vridge{{"VRidge (RiftCat)"}}
        trinusvr{{"TrinusVR"}}
    end
    subgraph games["Games"]
        oculusGame[Oculus Game]
        oxrGame["OpenXR Game"]
        wmrGame["WMR Game"]
        openvrGame[OpenVR Game]
    end
    subgraph wiredHeadsets["Wired Headsets"]
        riftHeadset[Oculus Rift]
        riftSHeadset[Oculus Rift S]
        wmrHeadset["WMR Headset"]
        subgraph varjoHeadset["Varjo"]
            varjoVR1["Varjo VR1"]
            varjoVR2["Varjo VR2"]
            varjoVR3["Varjo VR3"]
            varjoAero["Varjo Aero"]
            varjoVR1 ~~~ varjoVR2
            varjoVR3 ~~~ varjoAero
        end
        psvr["PSVR"]
        psvr2["PSVR2"]
        subgraph lighthouseHeadsets["Lighthouse Headsets"]
            valveIndexHeadset["Valve Index"]
            htcViveHeadset["HTC Vive"]
            htcViveProHeadset["HTC Vive Pro"]
            bigscreenBeyondHeadset["Bigscreen Beyond"]
            pimaxHeadset["Pimax Headset"]
        end
    end
    subgraph standaloneHeadsets["Standalone Headsets"]
        subgraph oculusStandaloneHeadsets[Oculus/Meta Quest VR Headsets]
            quest1["Quest"]
            quest2["Quest 2"]
            quest3["Quest 3"]
            questPro["Quest Pro"]
            quest1 ~~~ quest2
            quest3 ~~~ questPro
        end
        lynxR1["Lynx R1"]
        htcXrEliteHeadset["HTC XR Elite"]
        htcViveFocusHeadset["HTC Vive Focus"]
        appleVisionProHeadset["Apple Vision Pro"]
        subgraph picoHeadset["Pico Headsets"]
            picoNeo3["Pico Neo 3"]
            pico4["Pico 4"]
        end
        androidPhoneCardboard["Google Cardboard\n(Android Phone)"]
    end

    wmrGame --> wmrApi
    oculusGame --> oculusApi
    revive --> openvrApi
    openvrGame --> openvrApi
    
    oculusApi --> oculusRuntime
    oculusApi --> revive
    
    oculusRuntime --> airLink --> oculusStandaloneHeadsets
    oculusRuntime --> riftHeadset
    oculusRuntime --> riftSHeadset
    
    wmrApi --> wmrRuntime

    revive --> openxrApi
    openComposite --> openxrApi
    oxrGame --> openxrApi

    openxrApi --> virtualDesktop
    openxrApi --> oculusRuntime
    openxrApi --> wivrnRuntime
    openxrApi --> wmrRuntime
    openxrApi --> steamvr
    openxrApi --> monadoRuntime
    openxrApi --> pimaxRuntime

    openvrApi --> openComposite
    openvrApi --> steamvr

    steamvr --> steamLink
    steamvr --> virtualDesktop
    steamvr --> oculusRuntime
    steamvr --> alvrStreamer
    steamvr --> wmrRuntime
    steamvr --> monadoRuntime
    steamvr --> varjoHeadset
    steamvr --> pimaxRuntime
    steamvr -- "iVRy" --> psvr
    steamvr -- "official adapter & SteamVR driver" --> psvr2
    steamvr --> vridge
    steamvr --> trinusvr
    
    steamLink --> oculusStandaloneHeadsets
    steamLink --> picoHeadset
    virtualDesktop --> oculusStandaloneHeadsets
    virtualDesktop --> picoHeadset
    
    wmrRuntime --> wmrHeadset
    
    pimaxRuntime --> pimaxHeadset

    monadoRuntime -.-> alvrStreamer
    monadoRuntime --> riftHeadset
    monadoRuntime --> riftSHeadset
    monadoRuntime --> wmrHeadset
    monadoRuntime --> varjoHeadset
    monadoRuntime --> lighthouseHeadsets
    steamvr ----> lighthouseHeadsets
    
    wivrnRuntime --> htcViveFocusHeadset
    wivrnRuntime --> lynxR1
    wivrnRuntime --> htcXrEliteHeadset
    wivrnRuntime --> oculusStandaloneHeadsets
    wivrnRuntime --> picoHeadset
    wivrnRuntime --> androidPhoneCardboard
    
    alvrStreamer --> appleVisionProHeadset
    alvrStreamer --> lynxR1
    alvrStreamer --> htcViveFocusHeadset
    alvrStreamer --> htcXrEliteHeadset
    alvrStreamer --> oculusStandaloneHeadsets
    alvrStreamer --> picoHeadset
    alvrStreamer --> androidPhoneCardboard

    vridge --> androidPhoneCardboard
    trinusvr --> androidPhoneCardboard
    
    linkStyle 18,19,20,21,22,23,24 stroke: blue;
    linkStyle 58,59,60,61,62,63,64 stroke: orange;
    linkStyle 52,53,54,55,56,57 stroke: red;
    style openxrApi fill:#007;
    style wivrnRuntime fill:#700;
    style alvrStreamer fill:#750;
Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment