[opengl] OpenGL ES 대 OpenGL

OpenGL ES와 OpenGL의 차이점은 무엇입니까?



답변

OpenGL ES와 OpenGL의 두 가지 중요한 차이점은 기본 렌더링을위한 glBegin … glEnd 호출 의미를 제거하고 (정점 배열에 유리함) 더 나은 지원을 위해 정점 좌표 및 속성에 대한 고정 소수점 데이터 유형을 도입하는 것입니다. FPU가 부족한 임베디드 프로세서의 계산 능력

여기를보세요 : OpenGL_ES


답변

OpenGL ES는 임베디드 시스템을위한 OpenGL API입니다. API 함수의 수는 일반 OpenGL보다 간단하지만 정점 버퍼를 사용하고 더 많은 셰이더를 작성해야하기 때문에 사용하기가 더 어려울 수 있습니다.

일반 OpenGL을 사용하는 경우 glBegin 및 glEnd를 사용하여 그릴 필요가있는 지오메트리 프리미티브를 묶을 수 있지만 Opengl ES를 사용할 때는 꼭지점 버퍼를 사용해야합니다. 성능 문제 때문이라고 생각합니다.

현재 두 가지 Opengl ES 버전이 있으며 1.1 버전은 고정 렌더링 파이프 라인 만 지원할 수 있으며 2.0 버전은 glsl 셰이더를 지원합니다. 그러나 고정 된 렌더링 파이프 라인이 없습니다. 즉, 모든 것에 대해 자신 만의 셰이더를 작성해야합니다.

Opengl ES는 주로 휴대폰과 웹 (webgl)에서 사용됩니다. 사양에 따르면 데스크탑 OpenGL 드라이버는 모든 OpenGL ES API를 지원할 수 있습니다.


답변

OpenGL 3.3과 OpenGL ES 2.0은 OpenGL 3.3 기능의 하위 집합을 사용하여 대부분 상호 운용이 가능하다는 점을 추가하는 것과 같습니다. 내 사용자 지정 C ++ 엔진은 Android / IOS / Windows / OSX / Linux에 대해 몇 가지 정의가있는 동일한 API 호출을 사용합니다.

주요 차이점은 다음과 같습니다.

  • 지오메트리 셰이더 지원 부족
  • 최소 / 최대 혼합 없음 (이에 대한 확장이있을 수 있음)
  • 쿼드 목록 프리미티브 없음
  • 더 제한된 텍스처 형식 (특히 부동 소수점 관련)
  • glGetTexImage를 사용할 수 없습니다.
  • 다른 여러 고급 기능에 대해 동일한 변환 피드백이 없습니다.

다른 많은 차이점도 있지만 중요한 몇 가지를 다룹니다.


답변

OpenGL ES는 임베디드 시스템 용 Open Graphics Library (OpenGL ES 또는 GLES)가 일반적으로 그래픽 처리 장치 (GPU). 스마트 폰, 컴퓨터 태블릿, 비디오 게임 콘솔 및 PDA와 같은 임베디드 시스템 용으로 설계되었습니다.

OpenGL | ES 공식 웹 사이트 : http://www.opengl.org/

또한 wiki에서 더 많은 정보를 얻을 수 있습니다 : http://en.wikipedia.org/wiki/OpenGL_ES


답변

여기에서 OpenGL ES 개요를 검토하세요. http://www.khronos.org/opengles/

간단히 말해서 ES는 “임베디드 시스템”을위한 Open GL의 하위 집합입니다. 구체적인 차이점은 비교하는 버전 및 기능 세트에 따라 다릅니다.


답변

OpenGL ES 레지스트리에는 OpenGL ES와 해당 OpenGL 버전 간의 자세한 API 차이점이 포함되어 있습니다.

그러나 OpenGL ES 3.0의 차이점을 포함하는 문서는 없습니다.


답변

“OpenGL과 OpenGL ES의 차이점은 무엇입니까”라고 묻는다면 더 나은 답을 얻을 수있을 것입니다.

OpenGL ES 1.1과 ES 2.0, OpenGL 1.5와 2.0, OpenGL 3.0과 4.0 사이에는 큰 차이가 있습니다.

다른 사람들이 설명했듯이 ES는 임베디드 시스템 용으로 작성되었습니다. 또한 GL 사양의 시작 이래 최초의 “집 청소”를 나타냅니다. OpenGL은 a) 동일한 작업을 수행하는 여러 가지 방법이 있습니다 (예 : 쿼드 / 직사각형 두 가지 방법으로 그리고 픽셀 이미지를 두 가지 다른 방법으로 블릿하는 등). ES는 덜 정교한 하드웨어 용으로 설계 되었기 때문에 일반적인 설명으로 기능이 적은 OpenGL보다 간단합니다.

OpenGL ES 1.1은 과거이고 OpenGL 또는 OpenGL ES가 미래에 구조적으로 움직이는 방식을 나타내지 않으므로 OpenGL ES 1.1을 보지 말 것을 촉구합니다.