docs: def display(self):
          "Renders the scene once every refresh"
          self.compositor.waitGetPoses(self.poses, openvr.k_unMaxTrackedDeviceCount, None, 0)
          hmd_pose0 = self.poses[openvr.k_unTrackedDeviceIndex_Hmd]
          if not hmd_pose0.bPoseIsValid:
              return
          # hmd_pose = hmd_pose0.mDeviceToAbsoluteTracking
          # 1) On-screen render:
          if True:
              glClearColor(0.8, 0.4, 0.4, 0) # Pink background
              glClear(GL_COLOR_BUFFER_BIT)
              # glutSwapBuffers()
              glFlush() # Single buffer
          # 2) VR render
          # TODO: render different things to each eye
          glBindFramebuffer(GL_FRAMEBUFFER, self.fb)
          glClearColor(0.8, 0.4, 0.4, 0) # Pink background
          glClear(GL_COLOR_BUFFER_BIT)
          glBindFramebuffer(GL_FRAMEBUFFER, 0)
          #
          # TODO: use different textures for each eye
          self.compositor.submit(openvr.Eye_Left, self.texture)
          self.compositor.submit(openvr.Eye_Right, self.texture)
          glBindFramebuffer(GL_FRAMEBUFFER, 0)