Android Open Source - gdx-vr Oculus Implementation






From Project

Back to project page gdx-vr.

License

The source code is released under:

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUC...

If you think the Android project gdx-vr listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*******************************************************************************
 * Copyright 2011 See AUTHORS file./*w  w  w  .  j a  v  a  2s  .c  o m*/
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/

package com.badlogic.gdx.vr;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.LifecycleListener;
import com.oculusvr.capi.Hmd;
import com.oculusvr.capi.OvrLibrary;

/**
 * @author Daniel Holderbaum
 */
public class OculusImplementation implements VirtualRealityImplementation {

  private Hmd hmd;

  public OculusImplementation() {
    VirtualReality.implementation = this;

    VirtualReality.head = new Head();
    VirtualReality.body = new Body();
    VirtualReality.renderer = new VirtualRealityRenderer();

    OvrLibrary.INSTANCE.ovr_Initialize();
    hmd = OvrLibrary.INSTANCE.ovrHmd_CreateDebug(0);
    VirtualReality.headMountedDisplay = new OculusHMD(hmd);

    Gdx.app.addLifecycleListener(new LifecycleListener() {
      @Override
      public void resume() {
      }

      @Override
      public void pause() {
      }

      @Override
      public void dispose() {
        OvrLibrary.INSTANCE.ovr_Shutdown();
      }
    });
  }

  @Override
  public boolean supportsAntiDistortion() {
    return true;
  }

  @Override
  public void addDeviceListener(VirtualRealityDeviceListener listener) {
  }

  @Override
  public void removeDeviceListener(VirtualRealityDeviceListener listener) {
  }

  /**
   * TODO: move this somewhere else
   */
  @Override
  public void update(float deltaTime) {
    // TODO: can each eye have a different orientation here?
    TypeTransformer.transform(hmd.getEyePose(0).Orientation, VirtualReality.head.getOrientation());
    TypeTransformer.transform(hmd.getEyePose(1).Orientation, VirtualReality.head.getOrientation());
    TypeTransformer.transform(hmd.getEyePose(0).Position, VirtualReality.head.getPosition());
    TypeTransformer.transform(hmd.getEyePose(1).Position, VirtualReality.head.getPosition());
  }

}




Java Source Code List

com.badlogic.gdx.vr.Body.java
com.badlogic.gdx.vr.CardboardDistortionRenderer.java
com.badlogic.gdx.vr.CardboardDistortion.java
com.badlogic.gdx.vr.CardboardHMD.java
com.badlogic.gdx.vr.CardboardImplementation.java
com.badlogic.gdx.vr.CardboardMetaInformation.java
com.badlogic.gdx.vr.CardboardOpticsInformation.java
com.badlogic.gdx.vr.CardboardScreenInformation.java
com.badlogic.gdx.vr.DeviceMetaInformation.java
com.badlogic.gdx.vr.DeviceOpticsInformation.java
com.badlogic.gdx.vr.DeviceScreenInformation.java
com.badlogic.gdx.vr.DistortionRenderer.java
com.badlogic.gdx.vr.Distortion.java
com.badlogic.gdx.vr.HeadMountedDisplay.java
com.badlogic.gdx.vr.Head.java
com.badlogic.gdx.vr.MeshBuilder.java
com.badlogic.gdx.vr.OculusDistortionRenderer.java
com.badlogic.gdx.vr.OculusHMD.java
com.badlogic.gdx.vr.OculusImplementation.java
com.badlogic.gdx.vr.OculusMetaInformation.java
com.badlogic.gdx.vr.OculusOpticsInformation.java
com.badlogic.gdx.vr.OculusScreenInformation.java
com.badlogic.gdx.vr.SoftwareAntiDistortionRenderer.java
com.badlogic.gdx.vr.SplitViewport.java
com.badlogic.gdx.vr.Stage3D.java
com.badlogic.gdx.vr.TypeTransformer.java
com.badlogic.gdx.vr.TypeTransformer.java
com.badlogic.gdx.vr.VirtualRealityDeviceListener.java
com.badlogic.gdx.vr.VirtualRealityImplementation.java
com.badlogic.gdx.vr.VirtualRealityRenderListener.java
com.badlogic.gdx.vr.VirtualRealityRenderer.java
com.badlogic.gdx.vr.VirtualReality.java
com.badlogic.gdx.vr.simpleroom.IOSLauncher.java
com.badlogic.gdx.vr.simpleroom.SimpleRoom.java
com.badlogic.gdx.vr.simpleroom.android.AndroidLauncher.java
com.badlogic.gdx.vr.simpleroom.desktop.DesktopLauncher.java