def __init__(self):
     self.layers = list()
     self.width = 100
     self.height = 100
     self.frame_index = 0
     self.textureSwapChain = None
     self.rift = Rift()
     Rift.initialize()
     self.rift.init()  # TODO: Yuck initialize() init()
 def __init__(self):
     self.layers = list()
     self.width = 100
     self.height = 100
     self.frame_index = 0
     self.textureSwapChain = None
     self.rift = Rift()
     Rift.initialize()
     self.rift.init() # TODO: Yuck initialize() init()
Example #3
0
    def __init__(self):
        Rift.initialize()

        self.rift = Rift()
        self.rift.init()
        self.frame = 0
        self.mirror = True

        self.eyeRenderDescs = (ovr.EyeRenderDesc * 2)()
        self.eyeOffsets = (ovr.Vector3f * 2)()
        self.projections = (ovr.Matrix4f * 2)()
        self.textureSizes = (ovr.Sizei * 2)()
        self.fovPorts = (ovr.FovPort * 2)()
        self.poses = (ovr.Posef * 2)()
        self.bufferSize = ovr.Sizei()
        self.viewScale = ovr.ViewScaleDesc()
        self.viewScale.HmdSpaceToWorldScaleInMeters = 1.0

        for eye in range(0, 2):
            self.fovPorts[eye] = self.rift.hmdDesc.DefaultEyeFov[eye]
            self.eyeRenderDescs[eye] = self.rift.get_render_desc(
                eye, self.fovPorts[eye])
            self.eyeOffsets[eye] = self.eyeRenderDescs[eye].HmdToEyeOffset
            self.projections[eye] = Rift.get_perspective(
                self.fovPorts[eye], 0.01, 1000)
            self.textureSizes[eye] = self.rift.get_fov_texture_size(
                eye, self.fovPorts[eye])
            self.viewScale.HmdToEyeOffset[eye] = self.eyeOffsets[eye]

        self.bufferSize.w = self.textureSizes[0].w + self.textureSizes[1].w
        self.bufferSize.h = max(self.textureSizes[0].h, self.textureSizes[1].h)

        # TODO make the Rift wrapper class manage the layers and provide an API for enabling and disabling them
        # Initialize our single full screen Fov layer.
        layer = ovr.LayerEyeFov()
        layer.Header.Type = ovr.LayerType_EyeFov
        layer.Header.Flags = ovr.LayerFlag_TextureOriginAtBottomLeft  # OpenGL convention
        layer.Fov[0] = self.fovPorts[0]
        layer.Fov[1] = self.fovPorts[1]
        viewportSize = ovr.Sizei(self.bufferSize.w / 2, self.bufferSize.h)
        viewportPos = ovr.Vector2i(0, 0)
        layer.Viewport[0] = ovr.Recti(viewportPos, viewportSize)
        viewportPos = ovr.Vector2i(self.bufferSize.w / 2, 0)
        layer.Viewport[1] = ovr.Recti(viewportPos, viewportSize)
        self.layer = layer
Example #4
0
  def __init__(self):
    Rift.initialize()

    self.rift = Rift()
    self.rift.init()
    self.frame = 0
    self.mirror = True

    self.eyeRenderDescs = (ovr.EyeRenderDesc * 2)()
    self.eyeOffsets = (ovr.Vector3f * 2)()
    self.projections = (ovr.Matrix4f * 2)()
    self.textureSizes = (ovr.Sizei * 2)()
    self.fovPorts = (ovr.FovPort * 2)()
    self.poses = (ovr.Posef * 2)()
    self.bufferSize = ovr.Sizei()
    self.viewScale = ovr.ViewScaleDesc()
    self.viewScale.HmdSpaceToWorldScaleInMeters = 1.0

    for eye in range(0, 2):
      self.fovPorts[eye] = self.rift.hmdDesc.DefaultEyeFov[eye]
      self.eyeRenderDescs[eye] = self.rift.get_render_desc(eye, self.fovPorts[eye]);
      self.eyeOffsets[eye] = self.eyeRenderDescs[eye].HmdToEyeOffset
      self.projections[eye] = Rift.get_perspective(self.fovPorts[eye], 0.01, 1000)
      self.textureSizes[eye] = self.rift.get_fov_texture_size(eye, self.fovPorts[eye])
      self.viewScale.HmdToEyeOffset[eye] = self.eyeOffsets[eye]

    self.bufferSize.w  = self.textureSizes[0].w + self.textureSizes[1].w
    self.bufferSize.h = max ( self.textureSizes[0].h, self.textureSizes[1].h )

    # TODO make the Rift wrapper class manage the layers and provide an API for enabling and disabling them
    # Initialize our single full screen Fov layer.
    layer = ovr.LayerEyeFov()
    layer.Header.Type      = ovr.LayerType_EyeFov
    layer.Header.Flags     = ovr.LayerFlag_TextureOriginAtBottomLeft # OpenGL convention
    layer.Fov[0]           = self.fovPorts[0]
    layer.Fov[1]           = self.fovPorts[1]
    viewportSize = ovr.Sizei(self.bufferSize.w / 2, self.bufferSize.h)
    viewportPos = ovr.Vector2i(0, 0)
    layer.Viewport[0]      = ovr.Recti(viewportPos, viewportSize)
    viewportPos = ovr.Vector2i(self.bufferSize.w / 2, 0)
    layer.Viewport[1]      = ovr.Recti(viewportPos, viewportSize)
    self.layer = layer