Ejemplo n.º 1
0
  private void renderSixCamerasAndReadback(final GVRCameraRig mainCameraRig, byte[][] byteArrays) {
    if (byteArrays.length != 6) {
      throw new IllegalArgumentException("byteArrays length is not 6.");
    } else {
      // temporarily create a center camera
      GVRPerspectiveCamera centerCamera = new GVRPerspectiveCamera(this);
      centerCamera.setFovY(90.0f);
      centerCamera.setRenderMask(GVRRenderMaskBit.Left | GVRRenderMaskBit.Right);
      GVRSceneObject centerCameraObject = new GVRSceneObject(this);
      centerCameraObject.attachCamera(centerCamera);
      mainCameraRig.getOwnerObject().addChildObject(centerCameraObject);
      GVRTransform centerCameraTransform = centerCameraObject.getTransform();

      int index = 0;
      // render +x face
      centerCameraTransform.rotateByAxis(-90, 0, 1, 0);
      renderOneCameraAndAddToList(centerCamera, byteArrays, index++);

      // render -x face
      centerCameraTransform.rotateByAxis(180, 0, 1, 0);
      renderOneCameraAndAddToList(centerCamera, byteArrays, index++);

      // render +y face
      centerCameraTransform.rotateByAxis(-90, 0, 1, 0);
      centerCameraTransform.rotateByAxis(90, 1, 0, 0);
      renderOneCameraAndAddToList(centerCamera, byteArrays, index++);

      // render -y face
      centerCameraTransform.rotateByAxis(180, 1, 0, 0);
      renderOneCameraAndAddToList(centerCamera, byteArrays, index++);

      // render +z face
      centerCameraTransform.rotateByAxis(90, 1, 0, 0);
      centerCameraTransform.rotateByAxis(180, 0, 1, 0);
      renderOneCameraAndAddToList(centerCamera, byteArrays, index++);

      // render -z face
      centerCameraTransform.rotateByAxis(180, 0, 1, 0);
      renderOneCameraAndAddToList(centerCamera, byteArrays, index++);

      centerCameraObject.detachCamera();
      mainCameraRig.getOwnerObject().removeChildObject(centerCameraObject);
    }
  }
Ejemplo n.º 2
0
 /**
  * Override this method to change the default splash screen size or position.
  *
  * <p>This method will be called <em>before</em> {@link #onInit(GVRContext) onInit()} and before
  * the normal render pipeline starts up. In particular, this means that any {@linkplain
  * GVRAnimation animations} will not start until the first {@link #onStep()} and normal rendering
  * starts.
  *
  * @param splashScreen The splash object created from {@link #getSplashTexture(GVRContext)},
  *     {@link #getSplashMesh(GVRContext)}, and {@link #getSplashShader(GVRContext)}.
  * @since 1.6.4
  */
 public void onSplashScreenCreated(GVRSceneObject splashScreen) {
   GVRTransform transform = splashScreen.getTransform();
   transform.setPosition(0, 0, DEFAULT_SPLASH_Z);
 }