구글은 ANGLE이라는 이름의 라이브러리를 잘 쓰고 있습니다.
구글답게 오픈소스로 풀려있습니다. 주로 안드로이드에서 이용중이지만 크롬에도 일부 적용중입니다.

https://github.com/google/angle

GitHub - google/angle: A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.

A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android. - GitHub - google/angle: A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.

github.com

사실 이 물건은 일종의 번역기입니다
리눅스 사용자들은 DXVK가 익숙하실수도 있습니다. DirectX로 만들어진 프로그램을 Vulkan으로 구동하게 만드는 라이브러리입니다.

이와 비슷하게 ANGLE은 그동안 모바일에서 쓰여온 OpenGLES를 최신API인 Vulkan나 윈도우의 DirectX등으로 구동되게 하는 물건입니다.

대체 왜 이걸 만든것이냐하면 사실 PC에서는 곁다리지원 정도고 모바일쪽이 개판되서 그렇습니다.

안드로이드에서  게임개발은 여전히 OpenGLES가 주력입니다. OpenGLES의 개발이 중단된지 오래지만 후속이라 할 수있는 Vulkan의 코드작성이 워낙 힘들고 그래픽칩셋업체(ARM Mali, Qualcomm Adreno)와 구글, 크로노스그룹 과의 손발이 안 맞아서 개판이된 상태라 아직도 절찬리에 OpenGLES가 이용중입니다.

모 게임회사에서는 OpenGLES로 만들던 게임을 Vulkan으로 가능하게 수정했더니 정상적으로 돌아가는걸 본 적이없다고 할 정도로 상태가 안 좋습니다.

저는 모바일Vulkan이 이 꼴이 된 제일 큰 범인으로 모바일 게임엔진의 투탑중 하나인 Unity를 꼽지만 Unity도 Vulkan을 이 따위로 만들고 싶어서 그랬을까요. (Unreal은 그나마 모바일 Vulkan의 상황이 괜찮습니다)

암튼 구글이 직접 OpenGLES로 만들어진 프로그램을 Vulkan으로 가능하게 만들어주기 위해 만들고 있는것이지요.

일부 커스텀 안드로이드에는 벌써부터 이를 적용해서 기존 Vulkan지원이 안되는 게임을 Vulkan으로 되게끔 하고 있더군요

EvolutionX의 게임옵션 중 일부 몇몇게임의 경우 확실히 프레임이 올라간다

실제로 DirectX로 돌아가게하는 기능도 있음에도 개발상황을 보면 Vulkan렌더링이 주력입니다. DirectX기능은 윈도용 크롬이 쓰는 중이라고 하지요.

이런걸보면 개판이 된 모바일 게임쪽을 구글이 총대를 멘듯한 느낌인데...ANGLE만 믿고 OpenGLES만 쓰는 일은 없어야 할텐데요. 과연...

,