「AGSL」の版間の差分

編集の要約なし
編集の要約なし
7行目: 7行目:
この問題を解決すべく[[Android 13]]で登場したのがAGSLです。
この問題を解決すべく[[Android 13]]で登場したのがAGSLです。
AGSLはRuntimeShaderクラスに[[GLSL]]に似た(簡略化した)[[ソースコード]]を流し込むだけで利用できます。
AGSLはRuntimeShaderクラスに[[GLSL]]に似た(簡略化した)[[ソースコード]]を流し込むだけで利用できます。
たった1行です。
<source lang="kotlin">
val shader = RuntimeShader("AGSLのソースコード")
private const val COLOR_SHADER_SRC =
Vulkanで問題になったデバイスの初期化のバカみたいな煩雑さは一切ありません。
"""layout(color) uniform half4 iColor;
そもそもデバイスなどという概念すらありません。
  half4 main(float2 fragCoord) {
 
      return iColor;
  }"""
</source>
たった1行で利用開始できます。Vulkanで問題になったデバイスの初期化のバカみたいな煩雑さは一切ありません。そもそもデバイスなどという概念すらありません。
<source lang="kotlin">
val fixedColorShader = RuntimeShader(COLOR_SHADER_SRC)
</source>
[[ユニフォーム変数]]を流し込むのも簡単です。setColorUniform()やsetFloatUniform()を呼ぶだけです。[[RenderScript]]の型指定の頭のおかしさが解消されています。
<source lang="kotlin">
fixedColorShader.setColorUniform("iColor", Color.GREEN )
</source>
   
   
なお、Android 13以降でしか使えないため、まったく普及していないようです。
なお、AGSLはAndroid 13以降でしか使えないため、まったく普及していないようです。


== 外部リンク ==
== 外部リンク ==