「AGSL」を編集中

ナビゲーションに移動 検索に移動

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
6行目: 6行目:
  
 
この問題を解決すべく[[Android 13]]で登場したのがAGSLです。
 
この問題を解決すべく[[Android 13]]で登場したのがAGSLです。
Android 12でどん底に落とされた[[プログラマー]]を救済すべく颯爽と登場したのがAGSLです。
 
 
 
AGSLはRuntimeShaderクラスに[[GLSL]]に似た(簡略化した)[[ソースコード]]を流し込むだけで利用できます。
 
AGSLはRuntimeShaderクラスに[[GLSL]]に似た(簡略化した)[[ソースコード]]を流し込むだけで利用できます。
<source lang="kotlin">
+
たった1行です。
private const val COLOR_SHADER_SRC =
+
val shader = RuntimeShader("AGSLのソースコード")
"""layout(color) uniform half4 iColor;
+
Vulkanで問題になったデバイスの初期化のバカみたいな煩雑さは一切ありません。
  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>
 
 
   
 
   
なお、AGSLはAndroid 13以降でしか使えないため、まったく普及していないようです。
+
なお、Android 13以降でしか使えないため、まったく普及していないようです。
個人的な[[Google Play]]の統計をみると2023年11月時点で[[Android 11]]と[[Android 12]]は共に20%前後のシェアとなっています。Android 13は40%近くなっていますが、これが80〜90%前後になるのはかなり先だと思われます。
 
  
 
== 外部リンク ==
 
== 外部リンク ==

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)