ES 1.1의 대부분은 매우 단순 해 보입니다. 변형, 조명 및 재질과 같은 일반적인 고정 된 기능은 모두 셰이더 코드로 직접 변환됩니다.
완전히 교체하려면 분명히 모든 기능을 구현해야합니다. ES 1.1 진입 점을 살펴본 결과, ES 2.0으로 직접 변환되지 않는 몇 가지 항목을 발견했습니다. 마지막 항목은 특히 문제가있는 것 같습니다.
- 임의의 클리핑 평면. ES 2.0에서는 사용할 수 없지만 버텍스 쉐이더에서 거리를 계산 한 다음 조각 쉐이더에서 클리핑 된 파편을 버리면 셰이더에서 에뮬레이트 할 수 없습니다.
- ES 1.1에는 "팔레트 텍스처"라는 것이 있습니다. 내 이해에서, 그것은 ES 2.0에서 구현하는 것이 다소 힘들어 보이지만 가능합니다. 조각 쉐이더에서 두 가지 수준의 샘플링을 사용하여 두 개의 텍스처, 즉 인덱스와 팔레트에 대한 텍스처가 필요할 것입니다.
- ES 1.1은 조각 셰이더 이후에 실행되는 조각 단위 작업의 일부로 논리 연산 (
glLogicOp
)을 지원합니다. ES 2.0에는이 기능이 없으므로이를 복제하는 좋은 방법을 생각할 수 없습니다. 마음에 떠오르는 유일한 점은 렌더링하고, 결과를 다시 읽고, CPU에서 논리 연산을 수행 한 다음 결과 이미지를 렌더링하는 것입니다. 그리고 수술이 바뀔 때마다 그렇게해야합니다.
나는 이것들이 어떤 안드로이드 장치에서 발생하므로 OpenGl의 두 가지 다른 버전을 지원할 필요가 없다는 것을 읽었습니다. –