Android Open Source - gdx-vr Cardboard 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.//from w ww.  j a v a 2  s  .co 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 android.app.Activity;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.LifecycleListener;
import com.badlogic.gdx.math.Matrix4;
import com.google.vrtoolkit.cardboard.DistortionRenderer;
import com.google.vrtoolkit.cardboard.HeadMountedDisplay;
import com.google.vrtoolkit.cardboard.sensors.HeadTracker;

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

  private HeadTracker headTracker;

  public CardboardImplementation(Activity activity) {
    VirtualReality.implementation = this;

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

    headTracker = new HeadTracker(activity);
    headTracker.startTracking();

    HeadMountedDisplay hmd = new HeadMountedDisplay(activity.getWindowManager().getDefaultDisplay());
    VirtualReality.headMountedDisplay = new CardboardHMD(hmd);

    VirtualReality.distortionRenderer = new CardboardDistortionRenderer(hmd, new DistortionRenderer());

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

      @Override
      public void pause() {
      }

      @Override
      public void dispose() {
        headTracker.stopTracking();
      }
    });
  }

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

  @Override
  public void addDeviceListener(VirtualRealityDeviceListener listener) {
    // TODO Auto-generated method stub

  }

  @Override
  public void removeDeviceListener(VirtualRealityDeviceListener listener) {
    // TODO Auto-generated method stub

  }

  private static final Matrix4 HEAD_ROTATION = new Matrix4();

  @Override
  public void update(float deltaTime) {
    int writeOffset = 0;
    // we need to supply a 4x4, column major matrix
    headTracker.getLastHeadView(HEAD_ROTATION.getValues(), writeOffset);
    HEAD_ROTATION.getRotation(VirtualReality.head.getOrientation(), true);
  }
}




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