Beispiel #1
0
  @Override
  public void onDrawFrame(GL10 gl) {
    long tStart = SystemClock.uptimeMillis();

    gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

    gl.glMatrixMode(GL10.GL_MODELVIEW);
    gl.glLoadIdentity();

    gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);

    mBackgroundPlane.draw(gl);

    // eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ
    // GLU.gluLookAt(gl, mDistance * (float) Math.cos(-mPitch) * (float) Math.cos(mHead), mDistance
    // * (float) Math.sin(-mPitch), mDistance * (float) Math.cos(-mPitch) * (float) Math.sin(mHead),
    // 0, 0, 0, 0, 0, 1);

    gl.glTranslatef(mXPanOffset, mYPanOffset, -mDistance);
    gl.glRotatef(mPitch, 1, 0, 0);
    gl.glRotatef(mHead, 0, 1, 0);
    gl.glRotatef(mRoll, 0, 0, 1);

    // only if point of view changed
    setCurrentModelView(gl);

    // if (getManagers().getOptionsManager().getDisplayDebugInfos())// TODO use cache
    if (true) {
      mAxis.draw(gl);
    }

    // main draw call
    getManagers().getMeshManager().draw(gl);

    mToolOverlay.draw(gl, mManagers);

    mSymmetryPlane.draw(gl, mManagers);

    gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);

    if (mbTakeScreenshot) {
      TakeGLScreenshot(gl);
      mbTakeScreenshot = false;
    }

    long tStop = SystemClock.uptimeMillis();
    mLastFrameDurationMs = tStop - tStart;
  }
Beispiel #2
0
 public void onToolChange() {
   mToolOverlay.updateTool(mManagers);
 }