AGSL
2023年11月6日 (月) 07:26時点におけるAdministrator (トーク | 投稿記録)による版
AGSL (語源:Android Graphcis Shading Language)とは、Android 13に搭載されたAndroid独自のシェーディング言語および実行環境です。
大雑把にいえばAGSLはRenderScriptの後続APIです。 RenderScriptはAndroid 12で廃止されて「Vulkan使え」となっていました。 しかしVulkanは前準備がDirect3DやMetalの比ではないくらい面倒だという致命的な問題を抱えていました。Vulkanを利用するためには初期化処理だけでNDKを利用して何百行ものソースコードを書かねばならないという頭のおかしさでした。そんなもの誰も使うはずないですね。
この問題を解決すべくAndroid 13で登場したのがAGSLです。 AGSLはRuntimeShaderクラスにGLSLに似た(簡略化した)ソースコードを流し込むだけで利用できます。 たった1行です。
val shader = RuntimeShader("AGSLのソースコード")
Vulkanで問題になったデバイスの初期化のバカみたいな煩雑さは一切ありません。 そもそもデバイスなどという概念すらありません。
なお、Android 13以降でしか使えないため、まったく普及していないようです。