WebGL 및 OpenGL ES에서 누락 된 기능


10

WebGL을 사용하기 시작했으며 OpenGL (및 확장 OpenGL ES) 경험을 활용하는 것이 얼마나 쉬운 지 기쁘게 생각합니다. 그러나 내 이해는 다음과 같습니다.

  • OpenGL ES는 OpenGL의 하위 집합입니다
  • WebGL은 OpenGL ES의 하위 집합입니다

두 경우 모두에 맞습니까? 그렇다면 누락 된 기능을 자세히 설명하는 리소스가 있습니까?

예를 들어, 주목할만한 누락 된 기능 중 하나는 glPushMatrixglPopMatrix입니다. WebGL에는 보이지 않지만 OpenGL ES 자료에서 참조되는 것을 찾을 수 없습니다.

답변:


9

WebGL을의 위키는 "자사 자주 묻는 질문 계층의 섹션을 포함 WebGL에와 OpenGL의 차이점 매우 자세히 설명되지 않는다"바탕 화면 "OpenGL을 구현하고, 슬프게도에서 WebGL이 차이에 초점을 맞출 것"(대부분 그것의 행동에 대해이 아닌 API) .

이것이 충분하지 않을 경우 최신 WebGL 초안 을 OpenGL ES 또는 OpenGL 사양과 수동으로 비교해야 할 수 있습니다.


9

최신 WebGL 초안을 확인 했습니까?

모순되는 경우 초안에 따르면 OpenGL ES 2.0 사양이 최종 권한입니다.

6 장에서는 OpenGL ES 2.0과 WebGL의 차이점을 간략하게 설명합니다.

http://www.khronos.org/registry/webgl/specs/latest/


당신은 좋은 대답을 얻었습니다.이 질문은 다른 자원을 지적했기 때문에 다른 대답을 받아 들였습니다. 당신의 도움을 주셔서 감사합니다.
Chris Smith


0

WebGL은 OpenGL ES 2.0이고 OpenGL ES 2.0은 모든 기존 크래프트가 제거 된 OpenGL입니다.

쉐이더는 모든 기존의 고정 기능 파이프 라인에 추가 된 이후 glPushMatrix, glLight, glVertex등 모든 주위에 계속 아무 의미하지합니다.

그렇다면 이러한 "누락 된"기능 또는 정확하고 올바르게 "더 이상 사용되지 않는"기능입니까?

어떤 특정 기능을 찾고 있습니까?

WebGL / OpenGL ES 2.0은 기본 정점 및 프래그먼트 셰이더입니다. 2의 제곱이 아닌 텍스처와 소수의 텍스처 형식 만 지원합니다 (실제로 많은 텍스처의 99 %가 RGB8 또는 RGBA8 임). 부동 소수점 텍스처 지원은 선택 사항이지만 대부분의 장치는이를 지원합니다. 그러나 부동 소수점 텍스처로의 렌더링 지원은 거의 없습니다. 모바일 장치가 부동 소수점 텍스처로의 렌더링을 지원하는 경우는 거의 없습니다.

WebGL2 (방금 배송) 및 OpenGL ES 3.0에는 정수 기반 텍스처 및 3D 텍스처를 포함하여 새로운 텍스처 형식이 추가되었습니다. 2의 제곱이 아닌 텍스처 한계를 제거했습니다. 변환 피드백 (버텍스 쉐이더가 버퍼에 쓸 수있는 기능)을 추가했습니다. 또한 오 클루 전 쿼리를 추가했습니다. 정점 배열 객체는 표준입니다 (WebGL / ES 3.0에서는 선택 사항이었습니다). 더 많은 다른 사소한 기능이 있습니다.

ES 3.1 (및 아마도 다음 버전의 WebGL)은 컴퓨팅 셰이더 (프래그먼트 셰이더가 랜덤 액세스 쓰기를 수행하는 기능)를 추가합니다. 프래그먼트 셰이더는 현재 요청 된 프래그먼트 / 픽셀에만 쓸 수 있지만 셰이더를 계산하고 원하는 곳 어디에서나 쓸 수 있습니다.

다른 기능을 사용하고 싶습니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.