「Google ANGLE」の版間の差分
imported>Administrator |
imported>Administrator |
||
1行目: | 1行目: | ||
− | '''Google ANGLE''' | + | '''Google ANGLE'''(語源:Almost Native Graphics Layer Engine)とは、[[Google]]が開発している[[OpenGL]]互換[[API]]であり、[[OpenGL]]命令の呼び出しを[[Direct3D]]命令の呼び出しに変換するものである。[[GLSL]]も[[HLSL]]に変換される。 |
現在は一歩進んで[[OpenGL ES]] 2.0と3.0を[[OpenGL]], [[OpenGL ES]], [[Direct3D]]に変換するシステムとなっている。 | 現在は一歩進んで[[OpenGL ES]] 2.0と3.0を[[OpenGL]], [[OpenGL ES]], [[Direct3D]]に変換するシステムとなっている。 |
2018年10月9日 (火) 02:53時点における最新版
Google ANGLE(語源:Almost Native Graphics Layer Engine)とは、Googleが開発しているOpenGL互換APIであり、OpenGL命令の呼び出しをDirect3D命令の呼び出しに変換するものである。GLSLもHLSLに変換される。
現在は一歩進んでOpenGL ES 2.0と3.0をOpenGL, OpenGL ES, Direct3Dに変換するシステムとなっている。 これによりAndroidアプリをWindowsやMac、Linuxに移植するのが捗る。
概要[編集 | ソースを編集]
OpenGLはクソ。 なにがクソってGPUメーカーのOpenGLドライバがどうにもならないクソ。 一般的にOpenGLのAPIはGPUのドライバに含まれる。 その仕様がバラバラで画面クリアの手法すらメーカーごとに違うというグダグダさ。 はっきり言って叩き壊したくなるレベル。
あまりの酷さにGoogleはOpenGLをDirect3Dに変換するシステムを開発することにした。 これによりGoogle Chromeは安定かつ高速に動作するようになったとさ。 ChromeのWebGL実装はANGLEを使っている。つまりOpenGLを使わずDirectXを使っている。
これにMicrosoftも賛同し、Microsoft EdgeもWindows Insider Build 17025でANGLEが採用された。
現在[編集 | ソースを編集]
現在は一歩進んでOpenGL ES 2.0と3.0をOpenGL, OpenGL ES, Direct3Dに変換するシステムとなっている。 これによりAndroidアプリをWindowsやMac、Linuxに移植するのが捗る。
「OpenGL ESからOpenGL ESって何だよ」と思うかもしれないが、スマホ乱立・SoC乱立でOpenGL ESこそ仕様乱立でクソなのを整流する動作をする。たとえば画面クリアの手法が異なるGPUでも、同じ方法で叩けばうまいこと画面クリアしてくれるのである。
その他[編集 | ソースを編集]
ライセンスは3条項BSDライセンス。 ソースコードはgithubにて公開されている。