2011-01-06 2 views
1

OpenGL ES가 Open GL의 하위 집합이라는 것을 알고 있습니다. 그러나 Open GL에서 코딩 방법을 찾기 위해 OpenGL ES에서 적절한 솔루션을 찾으려고 애 쓰고 있습니다.OpenGL 코드를 OpenGL ES로 이식하기위한 입문 도움말 자료

예를 들어, 표시 목록을 가져옵니다. Here은 모든 NeHe 자습서를 포팅 한 사이트입니다. 표시 목록은 튜토리얼 12에 소개되었습니다. 불행히도 다른 많은 일들이 진행되고있어서 OpenGL ES에서 표시 목록을 바꿀 때 기본 원칙이 무엇인지 이해하기 어렵습니다.

특정 OpenGL 1.3 코드를 OpenGL ES 1.0으로 이식하는 방법에 대한 "기본"단계별 설명이나 기본적인 설명이 있습니까?

+2

어떤 OpenGL? 어떤 OpenGL ES입니까? 이 문제를 처음 해결하지 않고는 논의 할 수 없습니다. – Kos

+1

예 : 목록을 표시하는 데 직접적인 유사점은 없습니다. 그들은 OpenGL 용어 (성능 이점을주지 않으면 서 드라이버에 많은 복잡성을 추가한다는 느낌이 들었음)에서 우위에 서지 않았으며 ES에서 제공되는 것과 비슷한 비슷한 점을 제외하고는 거기에서 더 이상 사용되지 않습니다. 필요에 따라 관련 GL 명령을 게시하려면 고유 한 방법을 만들어야합니다. 필자는 다양한 차이점에 대한 더 넓은 주제에 대한 도움을 줄 수 없으며 Kos는 GL 및 GL ES의 버전 번호에 크게 의존한다고 말합니다. – Tommy

+0

Kos가 지적했듯이, OpenGL ES 1.x는 OpenGL 2.x와 크게 다르다. 왜냐하면 후자에서 쉐이더를 독점적으로 사용하기 때문이다. 포팅 프로세스는 타겟팅하는 두 가지 유형에 따라 다릅니다. –

답변

2

나는 정보 것을 포함하는 모든 자원을 알고 있지만, 여기에 내가 무엇을 알고하지 않습니다 표시 목록에 대한

  • 보충은 데이터 정점 저장하는 VBOs를 사용하여 단지하고, 렌더링 glDrawArrays/glDrawElements.
  • 직접 모드가 제거되었으므로 VA 및 VBO를 사용해야합니다.
  • OpenGL ES 2.0에는 고정 함수 파이프 라인이 없으므로 셰이더를 사용하여 모든 작업을 수행해야합니다.
  • OpenGL ES 2.0에서 알파 테스트가 제거되었으며 픽셀 쉐이더에서 수행해야합니다.
  • 일반적으로 ES에는 GLU 또는 GLUT가 없으므로 필요에 따라 수동으로 해당 기능을 구현해야합니다.
+0

https://code.google.com/p/glues/ 코드를 이식하는 데 도움이 될 수 있습니다 ... – RzR

관련 문제