Android OpenGL ES 투영 행렬 설정

3272 단어 Android
* 주: 참고:http://wiki.jikexueyuan.com/project/opengl-es-guide/projection.html 이전 글 에서 OpenGL 의 기본 적 인 사용 을 소 개 했 고 본 고 를 시작 으로 OpenGL 에 대해 더 알 아 보 겠 습 니 다.
OpenGL 투영 행렬
이전 예제 에서 OpenGL 초기 화 코드 에는 다음 과 같은 코드 가 있 습 니 다.
        // Select the projection matrix
        gl.glMatrixMode(GL10.GL_PROJECTION);
        // Reset the projection matrix
        gl.glLoadIdentity();

이 코드 는 현재 Matrix 모드 를 Projection 투영 매트릭스 OpenGL ES 로 설정 하기 위해 두 가지 다른 투영 변환 을 사용 할 수 있 습 니 다. 투시 투영 (Perspective Projection) 과 정 측 투영 (Orthographic Projection) 입 니 다.
투시 투영 (Perspective Projection)
투시 투영 의 특징 은 '가 깝 고 멀 며 작다' 는 것 이다. 즉, 우리 눈 이 일상적으로 보 는 세계 이다.OpenGL ES 는 투시 투영 함 수 를 glFrustum () 으로 정의 합 니 다.
public static void gluPerspective(GL10 gl, float fovy, float aspect, float zNear, float zFar)

시 추 는 (left, bottom, - near) 와 (right, top, - near) 에서 관측 점 에 가 까 운 재단 면 을 정의 하고, near 와 far 는 관측 점 과 두 개의 생 성 면 의 직접적인 근거리 와 원 거 리 를 정의 한다.실제 코드 를 쓸 때 Android OpenGL ES 는 투시 투영 변환 을 보다 간단하게 정의 할 수 있 는 보조 적 인 방법 gluPerspective () 를 제공 합 니 다.
public static void gluPerspective(GL10 gl, float fovy, float aspect, float zNear, float zFar)
  • fovy: 송곳 을 정의 하 는 view angle.
  • aspect: 송곳 의 너비 와 높이 를 정의 합 니 다.
  • zNear: 재단 면 의 가 까 운 거 리 를 정의 합 니 다.
  • zFar: 창설 면 의 원 거 리 를 정의 합 니 다.주: 그림 의 내용 은 View volume 에 있어 야 표시 할 수 있 습 니 다. Z 축 을 이용 하여 내용 을 View volume 구역 으로 옮 깁 니 다. 예 를 들 어
  •  gl.glTranslatef( 0f,0f ,zNear);

    정측 투영 (Orthographic Projection)
    정 측 투영, 그의 시 추 는 장방체 로 물체 의 크기 가 관측 점 의 거리 에 따라 변화 하지 않 고 투영 후 물체 간 의 거리 와 협각 을 유지 하 는 것 이 특징 이다.그것 은 주로 공사 제도 에 쓰 인 다.정 측 투영 (평이 투영 이 라 고도 함) 의 함 수 를 다음 과 같이 정의 합 니 다.
    public void glOrthof(float left, float right,float bottom,float top,float near,float far)

    재단 하 다.
    장면 속 도형 의 정점 은 modelview 와 procjection 좌 표를 거 쳐 변 경 된 후에 Viewing volumn 이외 의 정점 에 있 는 모든 것 이 잘 리 고 투시 투영 과 정 측 투영 은 모두 6 개의 재단 면 이 있다.재단 면 외부 에 있 는 모든 정점 을 재단 하여 그림 의 성능 을 향상 시 켜 야 합 니 다.
    주: 앞의 예 에서 투시 투영 이나 정 측 투영 을 설정 하지 않 았 습 니 다. 기본 값 은 정 측 투영 이 고 화면 을 가득 채 우 며 너비 와 높이 는 각각 1 입 니 다.

    좋은 웹페이지 즐겨찾기