Exemple #1
0
  public float snap_cam_z_hud(float eye[], float center[], float up[]) {

    float lookAt[] = new float[16];
    float eye2[] = new float[3];
    for (int a = 0; a < 3; a++) {
      eye2[a] = eye[a];
    }

    for (float ez = 1; ez < 100; ez += 0.05) {
      float cordx = mCanvasW;
      float cordy = 0;

      eye2[2] = ez;
      float win[] = new float[3];
      GMath.lookAtf(lookAt, eye2, center, up);
      if (GLU.gluProject(cordx, cordy, 0.0f, lookAt, 0, mProjectionHud, 0, mViewport, 0, win, 0)
              == GL10.GL_TRUE
          && win[0] > 0
          && win[0] < mViewport[2]) {
        mCameraEyeHud[0] = 0;
        mCameraEyeHud[1] = 0;
        mCameraEyeHud[2] = ez;
        saveLookAtHud(mCameraEyeHud, mCameraLookAtHud, mUpZHud);

        return ez;
      }
    }
    return 0;
  }