public void onDrawFrame(GL10 gl) {
      // 清除深度缓冲与颜色缓冲
      GLES20.glClear(GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);

      double angradElevation = Math.toRadians(angdegElevation); // 仰角(弧度)
      double angradAzimuth = Math.toRadians(angdegAzimuth); // 方位角
      cameraX = (float) (targetX + sightDis * Math.cos(angradElevation) * Math.cos(angradAzimuth));
      cameraY = (float) (targetY + sightDis * Math.sin(angradElevation));
      cameraZ = (float) (targetZ + sightDis * Math.cos(angradElevation) * Math.sin(angradAzimuth));

      MatrixState.setCamera( // 设置camera位置
          cameraX, // 人眼位置的X
          cameraY, // 人眼位置的Y
          cameraZ, // 人眼位置的Z
          targetX, // 人眼球看的点X
          targetY, // 人眼球看的点Y
          targetZ, // 人眼球看的点Z
          0, // 头的朝向
          1, 0);

      // 保护现场
      MatrixState.pushMatrix();
      MatrixState.translate(0, 0, -15);
      building.drawSelf(textureId);
      MatrixState.popMatrix();
    }