anchor.diff:              }
           )
   
  -    let processEvents() =
  -        let mutable evt : VREvent_t = Unchecked.defaultof<VREvent_t>
  -        while system.PollNextEvent(&evt, uint32 sizeof<VREvent_t>) do
  -            let id = evt.trackedDeviceIndex |> int
  -            if id >= 0 && id < devicesPerIndex.Length then
  -                match devicesPerIndex.[id] with
  -                    | Some device ->
  -                        device.Trigger(&evt)
  -
  -                    | None ->
  -                        ()
       let mutable backgroundColor = C4f.Black
   
   
  
positive.code:     abstract member Render : unit -> unit
      abstract member Release : unit -> unit
  
      member x.Run () =
          if not isAlive then raise <| ObjectDisposedException("VrSystem")
          let (lTex, rTex) = x.OnLoad infos.[0] 
  
          while isAlive do
              processEvents()
  
              let err = compositor.WaitGetPoses(renderPoses, gamePoses)
              if err = EVRCompositorError.None then
  
negative.code:             |> Sg.uniform "ProjTrafo" infos.[0].projTrafos
              |> Sg.uniform "ViewportSize" (Mod.constant infos.[0].framebufferSize)
  
      member private x.ProcessEvents() =
          let mutable evt : VREvent_t = Unchecked.defaultof<VREvent_t>
          while system.PollNextEvent(&evt, uint32 sizeof<VREvent_t>) do
              x.ProcessEvent(evt)
              let id = evt.trackedDeviceIndex |> int
              if id >= 0 && id < devicesPerIndex.Length then
                  match devicesPerIndex.[id] with
                      | Some device ->
                          device.Trigger(&evt)
                      | None ->
                          ()
  
      member x.ControllerBoxes =
          controllerBoxes
  
  