2011-12-19 6 views
0

Android (아마도 iOS)에 작은 그래픽 엔진을 만들기 위해 OpenGL ES를 배우는 방법을 모색 중입니다. OpenGL을 사용하기 전에 데스크탑에서만 약간의 작업을했습니다.OpenGL - 1.1에 비해 OpenGL ES 2.0을 배우는 것이 얼마나 어렵습니까?

OpenGL ES 2.0 또는 1.1을 사용해야하는지 잘 모르겠습니다. 어려움에 관해서는, 둘 사이에는 큰 차이가 있습니까?

제목, 장단점에 대한 몇 가지 주제가 있지만 버전 간 차이는 있지만 인데은 두 버전 간의 난이도에 대한 정보를 찾고 있습니다.

감사합니다.

답변

3

상당한 의문하지만 여기 간다 : 1.1/1.0이 고정 함수 파이프 라인을 사용하면서
둘 간의 주요한 차이가 GLES 2.0 쉐이더 사용한다는 것이다. 이것은 2.0에서 화면에 나타날 내용을 더 많이 제어 할 수 있다는 것을 의미하지만, 쉐이딩 언어 (glsl)를 배워야한다는 것을 의미합니다.
이 차이는 1.0/1.1에있는 많은 gl 메서드가 2.0에서 제거되었음을 의미합니다 (예 : glColorPointer). 2.0의 glUniform 호출을 사용하여 쉐이더에서 1.0의 정점 색상 설정에 사용할 수 있습니다. .

또 다른 차이점은 성능이며, 2.0은 일반적으로 this에 따른 이전 버전과 비교할 때 더 나은 성능을 제공합니다.

일반적으로 OpenGL ES 2.0은 ES 1.0/1.1 API보다 빠른 그래픽 성능을 제공합니다. 그러나 성능 차이는 OpenGL 그래픽 구현의 차이로 인해 OpenGL 응용 프로그램이 실행중인 Android 장치에 따라 달라질 수 있습니다. .

이 두 가지 주요 점을 생각해 볼 수 있습니다. 안드로이드에서 더 많은 설명과 예제를 얻으려면 this document을 읽어야하지만, 약간 더 높은 학습 곡선을 가질지라도 개인적으로 2.0을 권하고 싶습니다. 그만한 가치가 있습니다. 링크 된 안드로이드 - dev에 문서에서

는 상태

에게 코딩 편의를 않음 -는 OpenGL ES 1.0/1.1 API는 ES 2.0 API에서 사용할 수없는 고정 된 기능 파이프 라인과 편의 기능을 제공합니다. OpenGL을 처음 사용하는 개발자는 OpenGL ES 1.0/1.1 코딩을 더 빠르고 편리하게 찾을 수 있습니다.

그러나이 사용의 편의성은 결국 나에게 가치가있는 것은 아닙니다.

0

데스크톱에서 학습 한 OpenGL의 버전에 따라 다릅니다. 픽셀 쉐이더 나 버텍스 쉐이더에 익숙하다면 OpenGL ES 2.0을 쉽게 사용할 수 있습니다. 그렇지 않으면 1.1을 시도하십시오.